提交 7a5472ed 创建 作者: 赵鹏翀's avatar 赵鹏翀

make template

上级 f1d5ef01
添加文件
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<svg height="2044" version="1.1" width="2241" xmlns="http://www.w3.org/2000/svg">
<polyline fill="none" points="1118 501, 1368 501, 1368 1701, 1118 1701" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1118 521, 1388 521, 1388 1721, 1118 1721" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1118 541, 1408 541, 1408 1741, 1118 1741" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1118 561, 1428 561, 1428 1761, 1118 1761" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1118 581, 1448 581, 1448 1781, 1118 1781" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1118 601, 1468 601, 1468 1801, 1118 1801" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1118 481, 1348 481, 1348 1681, 1118 1681" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1118 1661, 1328 1661, 1328 461, 1118 461" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1118 441, 1308 441, 1308 1641, 1118 1641" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1118 1621, 1288 1621, 1288 421, 1118 421" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1118 401, 1268 401, 1268 1601, 1118 1601" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1118 1581, 1248 1581, 1248 381, 1118 381" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1118 621, 1488 621, 1488 1821, 1118 1821" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1118 1841, 1508 1841, 1508 641, 1118 641" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1118 661, 1528 661, 1528 1861, 1118 1861" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1118 1881, 1548 1881, 1548 681, 1118 681" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1248 381, 1768 381" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1268 401, 1768 401" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1288 421, 1768 421" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1308 441, 1768 441" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1328 461, 1768 461" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1348 481, 1768 481" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1368 501, 1768 501" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1388 521, 1768 521" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1408 541, 1768 541" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1428 561, 1768 561" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1448 581, 1768 581" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1468 601, 1768 601" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1488 621, 1768 621" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1508 641, 1768 641" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1528 661, 1768 661" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1548 681, 1768 681" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1768" x2="1818" y1="381" y2="331"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1768" x2="1818" y1="401" y2="351"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1768" x2="1818" y1="421" y2="371"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1768" x2="1818" y1="441" y2="391"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1768" x2="1818" y1="461" y2="411"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1768" x2="1818" y1="481" y2="431"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1768" x2="1818" y1="501" y2="451"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1768" x2="1818" y1="521" y2="471"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1768" x2="1818" y1="541" y2="491"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1768" x2="1818" y1="561" y2="511"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1768" x2="1818" y1="581" y2="531"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1768" x2="1818" y1="601" y2="551"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1768" x2="1818" y1="621" y2="571"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1768" x2="1818" y1="641" y2="591"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1768" x2="1818" y1="661" y2="611"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1768" x2="1818" y1="681" y2="631"/>
<polyline fill="none" points="1818 681, 1818 311, 1968 311" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polygon fill="#ffff80" points="1968 311, 1968 286, 2193 286, 2218 311, 2193 336, 1968 336, 1968 311" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1968" y="311">S[15..0]</text>
<polyline fill="none" points="868 381, 368 381" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="868 401, 368 401" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="868 421, 368 421" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="868 441, 368 441" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="868 461, 368 461" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="868 481, 368 481" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="868 501, 368 501" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="868 521, 368 521" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="868 541, 368 541" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="868 561, 368 561" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="868 581, 368 581" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="868 601, 368 601" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="868 621, 368 621" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="868 641, 368 641" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="868 661, 368 661" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="868 681, 368 681" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="868 1581, 368 1581" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="868 1601, 368 1601" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="868 1621, 368 1621" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="868 1641, 368 1641" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="868 1661, 368 1661" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="868 1681, 368 1681" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="868 1701, 368 1701" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="868 1721, 368 1721" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="868 1741, 368 1741" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="868 1761, 368 1761" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="868 1781, 368 1781" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="868 1801, 368 1801" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="868 1821, 368 1821" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="868 1841, 378 1841, 368 1841" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="868 1861, 368 1861" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="868 1881, 368 1881" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="318" x2="368" y1="1931" y2="1881"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="318" x2="368" y1="1911" y2="1861"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="318" x2="368" y1="1891" y2="1841"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="318" x2="368" y1="1871" y2="1821"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="318" x2="368" y1="1851" y2="1801"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="318" x2="368" y1="1831" y2="1781"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="318" x2="368" y1="1811" y2="1761"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="318" x2="368" y1="1791" y2="1741"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="318" x2="368" y1="1771" y2="1721"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="318" x2="368" y1="1751" y2="1701"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="318" x2="368" y1="1731" y2="1681"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="318" x2="368" y1="1711" y2="1661"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="318" x2="368" y1="1691" y2="1641"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="318" x2="368" y1="1671" y2="1621"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="318" x2="368" y1="1651" y2="1601"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="318" x2="368" y1="1631" y2="1581"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="318" x2="368" y1="731" y2="681"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="318" x2="368" y1="711" y2="661"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="318" x2="368" y1="691" y2="641"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="318" x2="368" y1="671" y2="621"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="318" x2="368" y1="651" y2="601"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="318" x2="368" y1="631" y2="581"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="318" x2="368" y1="611" y2="561"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="318" x2="368" y1="591" y2="541"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="318" x2="368" y1="571" y2="521"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="318" x2="368" y1="551" y2="501"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="318" x2="368" y1="531" y2="481"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="318" x2="368" y1="511" y2="461"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="318" x2="368" y1="491" y2="441"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="318" x2="368" y1="471" y2="421"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="318" x2="368" y1="451" y2="401"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="318" x2="368" y1="431" y2="381"/>
<polyline fill="none" points="318 771, 318 361, 178 361" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="318 1961, 318 1541, 168 1541" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polygon fill="#ffff80" points="28 361, 28 336, 153 336, 178 361, 153 386, 28 386, 28 361" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="28" y="361">A[15..0]</text>
<polygon fill="#ffff80" points="18 1541, 18 1516, 143 1516, 168 1541, 143 1566, 18 1566, 18 1541" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="18" y="1541">B[15..0]</text>
<polygon fill="#ffff80" points="18 1091, 18 1066, 143 1066, 168 1091, 143 1116, 18 1116, 18 1091" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="18" y="1091">Select</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="768" x2="768" y1="921" y2="981"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="768" x2="768" y1="841" y2="781"/>
<circle cx="768" cy="845" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="718 921, 818 921, 768 851, 718 921" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" transform="rotate(-90 732 901)" x="732" y="901">U1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" transform="rotate(-90 864 921)" x="864" y="921">NOT</text>
<polyline fill="none" points="868 1931, 768 1931, 768 1391, 768 981" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="468" y="381">A0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="468" y="401">A1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="468" y="421">A2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="468" y="441">A3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="468" y="461">A4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="468" y="481">A5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="468" y="501">A6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="468" y="521">A7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="468" y="541">A8</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="468" y="561">A9</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="468" y="581">A10</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="468" y="601">A11</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="468" y="621">A12</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="468" y="641">A13</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="468" y="661">A14</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="468" y="681">A15</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="468" y="1581">B0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="468" y="1601">B1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="468" y="1621">B2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="468" y="1641">B3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="468" y="1661">B4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="468" y="1681">B5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="468" y="1701">B6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="468" y="1721">B7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="468" y="1741">B8</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="468" y="1761">B9</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="468" y="1781">B10</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="468" y="1801">B11</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="468" y="1821">B12</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="468" y="1841">B13</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="468" y="1861">B14</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="468" y="1881">B15</text>
<polyline fill="none" points="868 731, 768 731, 768 781" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="168 1091, 768 1091" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1248" y="381">S0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1268" y="401">S1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1288" y="421">S2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1308" y="441">S3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1328" y="461">S4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1348" y="481">S5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1368" y="501">S6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1388" y="521">S7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1408" y="541">S8</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1428" y="561">S9</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1448" y="581">S10</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1468" y="601">S11</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1488" y="621">S12</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1508" y="641">S13</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1528" y="661">S14</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1548" y="681">S15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="868" y1="381" y2="381"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="961" y="381">A0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="868" y1="401" y2="401"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="961" y="401">A1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="868" y1="421" y2="421"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="961" y="421">A2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="868" y1="441" y2="441"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="961" y="441">A3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="868" y1="461" y2="461"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="961" y="461">A4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="868" y1="481" y2="481"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="961" y="481">A5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="868" y1="501" y2="501"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="961" y="501">A6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="868" y1="521" y2="521"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="961" y="521">A7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="868" y1="541" y2="541"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="961" y="541">A8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="868" y1="561" y2="561"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="961" y="561">A9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="868" y1="581" y2="581"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="971" y="581">A10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="868" y1="601" y2="601"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="971" y="601">A11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="868" y1="621" y2="621"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="971" y="621">A12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="868" y1="641" y2="641"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="971" y="641">A13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="868" y1="661" y2="661"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="971" y="661">A14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="868" y1="681" y2="681"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="971" y="681">A15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1068" x2="1118" y1="381" y2="381"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1025" y="381">D0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1068" x2="1118" y1="401" y2="401"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1025" y="401">D1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1068" x2="1118" y1="421" y2="421"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1025" y="421">D2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1068" x2="1118" y1="441" y2="441"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1025" y="441">D3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1068" x2="1118" y1="461" y2="461"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1025" y="461">D4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1068" x2="1118" y1="481" y2="481"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1025" y="481">D5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1068" x2="1118" y1="501" y2="501"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1025" y="501">D6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1068" x2="1118" y1="521" y2="521"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1025" y="521">D7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1068" x2="1118" y1="541" y2="541"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1025" y="541">D8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1068" x2="1118" y1="561" y2="561"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1025" y="561">D9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1068" x2="1118" y1="581" y2="581"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1025" y="581">D10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1068" x2="1118" y1="601" y2="601"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1025" y="601">D11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1068" x2="1118" y1="621" y2="621"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1025" y="621">D12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1068" x2="1118" y1="641" y2="641"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1025" y="641">D13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1068" x2="1118" y1="661" y2="661"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1025" y="661">D14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1068" x2="1118" y1="681" y2="681"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1025" y="681">D15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="908" x2="868" y1="731" y2="731"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="961" y="731">^EN</text>
<rect fill="#a0c0ff" fill-opacity="0.5" height="420" stroke="#000000" stroke-width="5" width="150" x="918" y="351"/>
<circle cx="913" cy="731" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="55" font-weight="700" text-anchor="start" x="768" y="301">First_data_gate</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="878" y="821">BUS_TRANS161</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="868" y1="1581" y2="1581"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="961" y="1581">A0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="868" y1="1601" y2="1601"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="961" y="1601">A1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="868" y1="1621" y2="1621"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="961" y="1621">A2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="868" y1="1641" y2="1641"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="961" y="1641">A3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="868" y1="1661" y2="1661"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="961" y="1661">A4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="868" y1="1681" y2="1681"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="961" y="1681">A5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="868" y1="1701" y2="1701"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="961" y="1701">A6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="868" y1="1721" y2="1721"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="961" y="1721">A7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="868" y1="1741" y2="1741"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="961" y="1741">A8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="868" y1="1761" y2="1761"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="961" y="1761">A9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="868" y1="1781" y2="1781"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="971" y="1781">A10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="868" y1="1801" y2="1801"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="971" y="1801">A11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="868" y1="1821" y2="1821"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="971" y="1821">A12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="868" y1="1841" y2="1841"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="971" y="1841">A13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="868" y1="1861" y2="1861"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="971" y="1861">A14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="868" y1="1881" y2="1881"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="971" y="1881">A15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1068" x2="1118" y1="1581" y2="1581"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1025" y="1581">D0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1068" x2="1118" y1="1601" y2="1601"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1025" y="1601">D1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1068" x2="1118" y1="1621" y2="1621"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1025" y="1621">D2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1068" x2="1118" y1="1641" y2="1641"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1025" y="1641">D3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1068" x2="1118" y1="1661" y2="1661"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1025" y="1661">D4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1068" x2="1118" y1="1681" y2="1681"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1025" y="1681">D5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1068" x2="1118" y1="1701" y2="1701"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1025" y="1701">D6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1068" x2="1118" y1="1721" y2="1721"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1025" y="1721">D7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1068" x2="1118" y1="1741" y2="1741"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1025" y="1741">D8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1068" x2="1118" y1="1761" y2="1761"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1025" y="1761">D9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1068" x2="1118" y1="1781" y2="1781"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1025" y="1781">D10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1068" x2="1118" y1="1801" y2="1801"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1025" y="1801">D11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1068" x2="1118" y1="1821" y2="1821"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1025" y="1821">D12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1068" x2="1118" y1="1841" y2="1841"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1025" y="1841">D13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1068" x2="1118" y1="1861" y2="1861"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1025" y="1861">D14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1068" x2="1118" y1="1881" y2="1881"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1025" y="1881">D15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="908" x2="868" y1="1931" y2="1931"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="961" y="1931">^EN</text>
<rect fill="#a0c0ff" fill-opacity="0.5" height="420" stroke="#000000" stroke-width="5" width="150" x="918" y="1551"/>
<circle cx="913" cy="1931" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="55" font-weight="700" text-anchor="start" x="698" y="1511">Second_data_gate</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="878" y="2021">BUS_TRANS161</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="宋体" font-size="105" font-weight="700" text-anchor="start" x="678" y="161">2选1复用器</text>
<circle cx="1548" cy="681" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1528" cy="661" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1508" cy="641" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1488" cy="621" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1468" cy="601" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1448" cy="581" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1428" cy="561" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1408" cy="541" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1388" cy="521" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1368" cy="501" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1348" cy="481" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1328" cy="461" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1308" cy="441" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1288" cy="421" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1268" cy="401" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1248" cy="381" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="768" cy="1091" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
</svg>
添加文件
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<svg height="2192" version="1.1" width="2339" xmlns="http://www.w3.org/2000/svg">
<polyline fill="none" points="1219 649, 1469 649, 1469 1849, 1219 1849" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1219 669, 1489 669, 1489 1869, 1219 1869" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1219 689, 1509 689, 1509 1889, 1219 1889" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1219 709, 1529 709, 1529 1909, 1219 1909" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1219 729, 1549 729, 1549 1929, 1219 1929" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1219 749, 1569 749, 1569 1949, 1219 1949" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1219 629, 1449 629, 1449 1829, 1219 1829" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1219 1809, 1429 1809, 1429 609, 1219 609" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1219 589, 1409 589, 1409 1789, 1219 1789" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1219 1769, 1389 1769, 1389 569, 1219 569" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1219 549, 1369 549, 1369 1749, 1219 1749" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1219 1729, 1349 1729, 1349 529, 1219 529" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1219 769, 1589 769, 1589 1969, 1219 1969" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1219 1989, 1609 1989, 1609 789, 1219 789" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1219 809, 1629 809, 1629 2009, 1219 2009" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1219 2029, 1649 2029, 1649 829, 1219 829" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1219 1129, 1349 1129" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1219 1149, 1369 1149" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1219 1169, 1389 1169" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1219 1189, 1409 1189" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1219 1209, 1429 1209" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1219 1229, 1449 1229" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1219 1249, 1469 1249" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1219 1269, 1489 1269" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1219 1289, 1509 1289" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1219 1309, 1529 1309" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1219 1329, 1549 1329" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1219 1349, 1569 1349" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1219 1369, 1589 1369" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1219 1389, 1609 1389" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1219 1409, 1629 1409" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1219 1429, 1649 1429" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1349 529, 1869 529" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1369 549, 1869 549" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1389 569, 1869 569" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1409 589, 1869 589" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1429 609, 1869 609" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1449 629, 1869 629" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1469 649, 1869 649" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1489 669, 1869 669" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1509 689, 1869 689" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1529 709, 1869 709" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1549 729, 1869 729" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1569 749, 1869 749" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1589 769, 1869 769" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1609 789, 1869 789" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1629 809, 1869 809" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1649 829, 1869 829" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1869" x2="1919" y1="529" y2="479"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1869" x2="1919" y1="549" y2="499"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1869" x2="1919" y1="569" y2="519"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1869" x2="1919" y1="589" y2="539"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1869" x2="1919" y1="609" y2="559"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1869" x2="1919" y1="629" y2="579"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1869" x2="1919" y1="649" y2="599"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1869" x2="1919" y1="669" y2="619"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1869" x2="1919" y1="689" y2="639"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1869" x2="1919" y1="709" y2="659"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1869" x2="1919" y1="729" y2="679"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1869" x2="1919" y1="749" y2="699"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1869" x2="1919" y1="769" y2="719"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1869" x2="1919" y1="789" y2="739"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1869" x2="1919" y1="809" y2="759"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1869" x2="1919" y1="829" y2="779"/>
<polyline fill="none" points="969 529, 469 529" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 549, 469 549" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 569, 469 569" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 589, 469 589" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 609, 469 609" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 629, 469 629" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 649, 469 649" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 669, 469 669" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 689, 469 689" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 709, 469 709" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 729, 469 729" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 749, 469 749" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 769, 469 769" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 789, 469 789" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 809, 469 809" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 829, 469 829" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 1129, 469 1129" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 1149, 469 1149" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 1169, 469 1169" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 1189, 469 1189" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 1209, 469 1209" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 1229, 469 1229" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 1249, 469 1249" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 1269, 469 1269" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 1289, 469 1289" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 1309, 469 1309" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 1329, 469 1329" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 1349, 469 1349" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 1369, 469 1369" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 1389, 469 1389" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 1409, 469 1409" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 1429, 469 1429" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 1729, 469 1729" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 1749, 469 1749" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 1769, 469 1769" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 1789, 469 1789" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 1809, 469 1809" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 1829, 469 1829" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 1849, 469 1849" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 1869, 469 1869" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 1889, 469 1889" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 1909, 469 1909" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 1929, 469 1929" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 1949, 469 1949" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 1969, 469 1969" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 1989, 479 1989, 469 1989" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 2009, 469 2009" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="969 2029, 469 2029" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="2079" y2="2029"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="2059" y2="2009"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="2039" y2="1989"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="2019" y2="1969"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="1999" y2="1949"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="1979" y2="1929"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="1959" y2="1909"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="1939" y2="1889"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="1919" y2="1869"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="1899" y2="1849"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="1879" y2="1829"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="1859" y2="1809"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="1839" y2="1789"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="1819" y2="1769"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="1799" y2="1749"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="1779" y2="1729"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="1479" y2="1429"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="1459" y2="1409"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="1439" y2="1389"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="1419" y2="1369"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="1399" y2="1349"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="1379" y2="1329"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="1359" y2="1309"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="1339" y2="1289"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="1319" y2="1269"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="1299" y2="1249"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="1279" y2="1229"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="1259" y2="1209"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="1239" y2="1189"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="1219" y2="1169"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="1199" y2="1149"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="1179" y2="1129"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="879" y2="829"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="859" y2="809"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="839" y2="789"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="819" y2="769"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="799" y2="749"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="779" y2="729"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="759" y2="709"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="739" y2="689"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="719" y2="669"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="699" y2="649"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="679" y2="629"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="659" y2="609"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="639" y2="589"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="619" y2="569"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="599" y2="549"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="419" x2="469" y1="579" y2="529"/>
<polygon fill="#ffff80" points="19 529, 19 504, 244 504, 269 529, 244 554, 19 554, 19 529" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="19" y="529">A[15..0]</text>
<polygon fill="#ffff80" points="19 1129, 19 1104, 244 1104, 269 1129, 244 1154, 19 1154, 19 1129" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="19" y="1129">B[15..0]</text>
<polygon fill="#ffff80" points="49 1729, 49 1704, 244 1704, 269 1729, 244 1754, 49 1754, 49 1729" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="49" y="1729">C[15..0]</text>
<polyline fill="none" points="419 879, 419 529, 269 529" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="419 1479, 419 1129, 269 1129" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="419 2079, 419 1729, 269 1729" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="1919 779, 1919 449, 2069 449" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polygon fill="#ffff80" points="2069 449, 2069 424, 2294 424, 2319 449, 2294 474, 2069 474, 2069 449" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2069" y="449">F[15..0]</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="529">A0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="549">A1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="569">A2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="589">A3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="609">A4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="629">A5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="649">A6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="669">A7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="689">A8</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="709">A9</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="729">A10</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="749">A11</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="769">A12</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="789">A13</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="809">A14</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="829">A15</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="1129">B0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="1149">B1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="1169">B2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="1189">B3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="1209">B4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="1229">B5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="1249">B6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="1269">B7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="1289">B8</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="1309">B9</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="1329">B10</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="1349">B11</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="1369">B12</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="1389">B13</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="1409">B14</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="1429">B15</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="1729">C0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="1749">C1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="1769">C2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="1789">C3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="1809">C4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="1829">C5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="1849">C6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="1869">C7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="1889">C8</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="1909">C9</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="1929">C10</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="1949">C11</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="1969">C12</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="1989">C13</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="2009">C14</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="569" y="2029">C15</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1649" y="529">F0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1649" y="549">F1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1649" y="569">F2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1649" y="589">F3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1649" y="609">F4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1649" y="629">F5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1649" y="649">F6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1649" y="669">F7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1649" y="689">F8</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1649" y="709">F9</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1649" y="729">F10</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1649" y="749">F11</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1649" y="769">F12</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1649" y="789">F13</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1649" y="809">F14</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1649" y="829">F15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="529" y2="529"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1062" y="529">A0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="549" y2="549"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1062" y="549">A1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="569" y2="569"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1062" y="569">A2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="589" y2="589"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1062" y="589">A3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="609" y2="609"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1062" y="609">A4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="629" y2="629"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1062" y="629">A5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="649" y2="649"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1062" y="649">A6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="669" y2="669"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1062" y="669">A7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="689" y2="689"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1062" y="689">A8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="709" y2="709"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1062" y="709">A9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="729" y2="729"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1072" y="729">A10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="749" y2="749"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1072" y="749">A11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="769" y2="769"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1072" y="769">A12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="789" y2="789"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1072" y="789">A13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="809" y2="809"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1072" y="809">A14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="829" y2="829"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1072" y="829">A15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="529" y2="529"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="529">D0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="549" y2="549"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="549">D1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="569" y2="569"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="569">D2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="589" y2="589"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="589">D3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="609" y2="609"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="609">D4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="629" y2="629"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="629">D5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="649" y2="649"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="649">D6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="669" y2="669"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="669">D7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="689" y2="689"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="689">D8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="709" y2="709"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="709">D9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="729" y2="729"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="729">D10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="749" y2="749"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="749">D11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="769" y2="769"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="769">D12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="789" y2="789"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="789">D13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="809" y2="809"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="809">D14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="829" y2="829"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="829">D15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1009" x2="969" y1="879" y2="879"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1062" y="879">^EN</text>
<rect fill="#a0c0ff" fill-opacity="0.5" height="420" stroke="#000000" stroke-width="5" width="150" x="1019" y="499"/>
<circle cx="1014" cy="879" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="65" font-weight="700" text-anchor="start" x="909" y="479">First_gate</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="979" y="969">BUS_TRANS161</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="1129" y2="1129"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1062" y="1129">A0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="1149" y2="1149"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1062" y="1149">A1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="1169" y2="1169"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1062" y="1169">A2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="1189" y2="1189"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1062" y="1189">A3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="1209" y2="1209"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1062" y="1209">A4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="1229" y2="1229"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1062" y="1229">A5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="1249" y2="1249"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1062" y="1249">A6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="1269" y2="1269"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1062" y="1269">A7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="1289" y2="1289"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1062" y="1289">A8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="1309" y2="1309"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1062" y="1309">A9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="1329" y2="1329"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1072" y="1329">A10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="1349" y2="1349"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1072" y="1349">A11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="1369" y2="1369"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1072" y="1369">A12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="1389" y2="1389"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1072" y="1389">A13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="1409" y2="1409"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1072" y="1409">A14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="1429" y2="1429"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1072" y="1429">A15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="1129" y2="1129"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="1129">D0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="1149" y2="1149"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="1149">D1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="1169" y2="1169"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="1169">D2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="1189" y2="1189"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="1189">D3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="1209" y2="1209"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="1209">D4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="1229" y2="1229"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="1229">D5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="1249" y2="1249"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="1249">D6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="1269" y2="1269"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="1269">D7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="1289" y2="1289"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="1289">D8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="1309" y2="1309"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="1309">D9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="1329" y2="1329"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="1329">D10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="1349" y2="1349"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="1349">D11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="1369" y2="1369"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="1369">D12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="1389" y2="1389"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="1389">D13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="1409" y2="1409"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="1409">D14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="1429" y2="1429"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="1429">D15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1009" x2="969" y1="1479" y2="1479"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1062" y="1479">^EN</text>
<rect fill="#a0c0ff" fill-opacity="0.5" height="420" stroke="#000000" stroke-width="5" width="150" x="1019" y="1099"/>
<circle cx="1014" cy="1479" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="65" font-weight="700" text-anchor="start" x="879" y="1069">Second_gate</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="979" y="1569">BUS_TRANS161</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="1729" y2="1729"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1062" y="1729">A0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="1749" y2="1749"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1062" y="1749">A1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="1769" y2="1769"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1062" y="1769">A2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="1789" y2="1789"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1062" y="1789">A3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="1809" y2="1809"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1062" y="1809">A4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="1829" y2="1829"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1062" y="1829">A5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="1849" y2="1849"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1062" y="1849">A6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="1869" y2="1869"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1062" y="1869">A7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="1889" y2="1889"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1062" y="1889">A8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="1909" y2="1909"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1062" y="1909">A9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="1929" y2="1929"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1072" y="1929">A10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="1949" y2="1949"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1072" y="1949">A11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="1969" y2="1969"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1072" y="1969">A12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="1989" y2="1989"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1072" y="1989">A13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="2009" y2="2009"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1072" y="2009">A14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1019" x2="969" y1="2029" y2="2029"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1072" y="2029">A15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="1729" y2="1729"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="1729">D0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="1749" y2="1749"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="1749">D1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="1769" y2="1769"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="1769">D2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="1789" y2="1789"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="1789">D3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="1809" y2="1809"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="1809">D4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="1829" y2="1829"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="1829">D5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="1849" y2="1849"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="1849">D6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="1869" y2="1869"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="1869">D7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="1889" y2="1889"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="1889">D8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="1909" y2="1909"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="1909">D9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="1929" y2="1929"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="1929">D10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="1949" y2="1949"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="1949">D11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="1969" y2="1969"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="1969">D12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="1989" y2="1989"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="1989">D13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="2009" y2="2009"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="2009">D14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1169" x2="1219" y1="2029" y2="2029"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1126" y="2029">D15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1009" x2="969" y1="2079" y2="2079"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1062" y="2079">^EN</text>
<rect fill="#a0c0ff" fill-opacity="0.5" height="420" stroke="#000000" stroke-width="5" width="150" x="1019" y="1699"/>
<circle cx="1014" cy="2079" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="65" font-weight="700" text-anchor="start" x="889" y="1679">Third_gate</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="979" y="2169">BUS_TRANS161</text>
<polygon fill="#ffff80" points="29 69, 29 44, 154 44, 179 69, 154 94, 29 94, 29 69" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="29" y="69">S0</text>
<polygon fill="#ffff80" points="29 169, 29 144, 154 144, 179 169, 154 194, 29 194, 29 169" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="29" y="169">S1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="419" x2="379" y1="159" y2="159"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="481" y="156">^1G</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="402" y="159">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="429" x2="379" y1="69" y2="69"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="462" y="70">A</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="401" y="68">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="429" x2="379" y1="99" y2="99"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="462" y="99">B</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="401" y="98">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="589" x2="629" y1="69" y2="69"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="548" y="75">Y0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="608" y="69">4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="589" x2="629" y1="99" y2="99"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="549" y="103">Y1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="608" y="99">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="589" x2="629" y1="129" y2="129"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="549" y="131">Y2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="608" y="129">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="589" x2="629" y1="159" y2="159"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="549" y="159">Y3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="609" y="160">7</text>
<circle cx="424" cy="159" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="584" cy="69" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="585" cy="159" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="584" cy="130" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="584" cy="99" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<rect fill="#ffffff" fill-opacity="0.5" height="124" stroke="#000000" stroke-width="5" width="146" x="431" y="53"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="498" y="47">U1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="433" y="219">74LS139D</text>
<polyline fill="none" points="179 69, 379 69" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="379 99, 179 99, 179 169" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="629 69, 879 69, 879 879, 969 879" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="629 99, 859 99, 859 1479, 969 1479" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="629 129, 839 129, 839 2079, 969 2079" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="宋体" font-size="105" font-weight="700" text-anchor="start" x="1009" y="269">3选1复用器</text>
<circle cx="1649" cy="829" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1629" cy="809" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1609" cy="789" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1589" cy="769" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1569" cy="749" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1549" cy="729" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1529" cy="709" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1509" cy="689" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1489" cy="669" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1469" cy="649" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1449" cy="629" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1429" cy="609" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1409" cy="589" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1389" cy="569" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1369" cy="549" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1349" cy="529" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1649" cy="1429" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1629" cy="1409" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1609" cy="1389" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1589" cy="1369" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1569" cy="1349" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1549" cy="1329" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1529" cy="1309" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1509" cy="1289" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1489" cy="1269" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1469" cy="1249" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1449" cy="1229" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1429" cy="1209" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1409" cy="1189" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1389" cy="1169" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1369" cy="1149" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1349" cy="1129" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
</svg>
添加文件
这个 源代码变更 因为 太大 而不能显示。 你可以 浏览blob
# 说明
空白项目
# 使用方法
可根据需要自行添加原理图等文件。
16 位 MIPS 单周期微处理器
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<svg height="3292" version="1.1" width="3772" xmlns="http://www.w3.org/2000/svg">
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2990" x2="2950" y1="435" y2="435"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3053" y="435">^A0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2969" y="435">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2990" x2="2950" y1="465" y2="465"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3053" y="465">^A1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2982" y="465">23</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2990" x2="2950" y1="495" y2="495"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3053" y="495">^A2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2982" y="495">21</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2990" x2="2950" y1="525" y2="525"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3053" y="525">^A3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2982" y="525">19</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2990" x2="2950" y1="585" y2="585"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3053" y="585">^B0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2969" y="583">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2990" x2="2950" y1="615" y2="615"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3053" y="615">^B1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2983" y="614">22</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2990" x2="2950" y1="645" y2="645"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3053" y="645">^B2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2983" y="644">20</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2990" x2="2950" y1="675" y2="675"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3053" y="675">^B3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2983" y="674">18</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3000" x2="2950" y1="745" y2="745"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3043" y="745">S0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2970" y="743">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3000" x2="2950" y1="775" y2="775"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3043" y="775">S1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2970" y="774">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3000" x2="2950" y1="805" y2="805"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3043" y="805">S2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2970" y="804">4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3000" x2="2950" y1="835" y2="835"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3043" y="835">S3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2970" y="834">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3000" x2="2950" y1="895" y2="895"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3043" y="895">CN</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2970" y="896">7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3000" x2="2950" y1="925" y2="925"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3033" y="925">M</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2970" y="926">8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3160" x2="3200" y1="705" y2="705"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3117" y="705">^G</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3165" y="705">17</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3160" x2="3200" y1="675" y2="675"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3117" y="675">^P</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3165" y="675">15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3150" x2="3200" y1="615" y2="615"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3117" y="615">AEQB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3165" y="615">14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3150" x2="3200" y1="585" y2="585"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3117" y="585">CN4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3165" y="585">16</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3160" x2="3200" y1="525" y2="525"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3117" y="525">^F3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3165" y="525">13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3160" x2="3200" y1="495" y2="495"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3117" y="495">^F2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3165" y="495">11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3160" x2="3200" y1="465" y2="465"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3117" y="465">^F1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3165" y="465">10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3160" x2="3200" y1="435" y2="435"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3117" y="435">^F0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3178" y="434">9</text>
<circle cx="2995" cy="675" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2994" cy="495" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2994" cy="585" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2994" cy="525" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2994" cy="464" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2995" cy="645" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2995" cy="435" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2994" cy="615" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="3154" cy="436" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="3155" cy="466" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="3155" cy="495" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="3154" cy="525" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="3154" cy="675" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="3154" cy="706" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<rect fill="#ffffff" fill-opacity="0.5" height="550" stroke="#000000" stroke-width="5" width="150" x="3000" y="395"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="3067" y="375">U1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="3010" y="991">74LS181</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2990" x2="2950" y1="1135" y2="1135"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3053" y="1135">^A0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2969" y="1135">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2990" x2="2950" y1="1165" y2="1165"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3053" y="1165">^A1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2982" y="1165">23</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2990" x2="2950" y1="1195" y2="1195"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3053" y="1195">^A2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2982" y="1195">21</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2990" x2="2950" y1="1225" y2="1225"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3053" y="1225">^A3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2982" y="1225">19</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2990" x2="2950" y1="1285" y2="1285"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3053" y="1285">^B0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2969" y="1283">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2990" x2="2950" y1="1315" y2="1315"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3053" y="1315">^B1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2983" y="1314">22</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2990" x2="2950" y1="1345" y2="1345"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3053" y="1345">^B2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2983" y="1344">20</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2990" x2="2950" y1="1375" y2="1375"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3053" y="1375">^B3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2983" y="1374">18</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3000" x2="2950" y1="1445" y2="1445"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3043" y="1445">S0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2970" y="1443">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3000" x2="2950" y1="1475" y2="1475"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3043" y="1475">S1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2970" y="1474">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3000" x2="2950" y1="1505" y2="1505"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3043" y="1505">S2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2970" y="1504">4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3000" x2="2950" y1="1535" y2="1535"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3043" y="1535">S3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2970" y="1534">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3000" x2="2950" y1="1595" y2="1595"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3043" y="1595">CN</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2970" y="1596">7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3000" x2="2950" y1="1625" y2="1625"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3033" y="1625">M</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2970" y="1626">8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3160" x2="3200" y1="1405" y2="1405"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3117" y="1405">^G</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3165" y="1405">17</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3160" x2="3200" y1="1375" y2="1375"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3117" y="1375">^P</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3165" y="1375">15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3150" x2="3200" y1="1315" y2="1315"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3117" y="1315">AEQB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3165" y="1315">14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3150" x2="3200" y1="1285" y2="1285"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3117" y="1285">CN4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3165" y="1285">16</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3160" x2="3200" y1="1225" y2="1225"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3117" y="1225">^F3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3165" y="1225">13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3160" x2="3200" y1="1195" y2="1195"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3117" y="1195">^F2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3165" y="1195">11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3160" x2="3200" y1="1165" y2="1165"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3117" y="1165">^F1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3165" y="1165">10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3160" x2="3200" y1="1135" y2="1135"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3117" y="1135">^F0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3178" y="1134">9</text>
<circle cx="2995" cy="1375" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2994" cy="1195" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2994" cy="1285" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2994" cy="1225" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2994" cy="1164" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2995" cy="1345" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2995" cy="1135" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2994" cy="1315" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="3154" cy="1136" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="3155" cy="1166" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="3155" cy="1195" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="3154" cy="1225" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="3154" cy="1375" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="3154" cy="1406" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<rect fill="#ffffff" fill-opacity="0.5" height="550" stroke="#000000" stroke-width="5" width="150" x="3000" y="1095"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="3067" y="1075">U2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="3010" y="1691">74LS181</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2990" x2="2950" y1="1875" y2="1875"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3053" y="1875">^A0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2969" y="1875">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2990" x2="2950" y1="1905" y2="1905"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3053" y="1905">^A1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2982" y="1905">23</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2990" x2="2950" y1="1935" y2="1935"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3053" y="1935">^A2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2982" y="1935">21</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2990" x2="2950" y1="1965" y2="1965"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3053" y="1965">^A3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2982" y="1965">19</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2990" x2="2950" y1="2025" y2="2025"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3053" y="2025">^B0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2969" y="2023">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2990" x2="2950" y1="2055" y2="2055"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3053" y="2055">^B1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2983" y="2054">22</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2990" x2="2950" y1="2085" y2="2085"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3053" y="2085">^B2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2983" y="2084">20</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2990" x2="2950" y1="2115" y2="2115"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3053" y="2115">^B3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2983" y="2114">18</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3000" x2="2950" y1="2185" y2="2185"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3043" y="2185">S0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2970" y="2183">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3000" x2="2950" y1="2215" y2="2215"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3043" y="2215">S1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2970" y="2214">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3000" x2="2950" y1="2245" y2="2245"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3043" y="2245">S2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2970" y="2244">4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3000" x2="2950" y1="2275" y2="2275"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3043" y="2275">S3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2970" y="2274">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3000" x2="2950" y1="2335" y2="2335"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3043" y="2335">CN</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2970" y="2336">7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3000" x2="2950" y1="2365" y2="2365"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3033" y="2365">M</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2970" y="2366">8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3160" x2="3200" y1="2145" y2="2145"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3117" y="2145">^G</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3165" y="2145">17</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3160" x2="3200" y1="2115" y2="2115"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3117" y="2115">^P</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3165" y="2115">15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3150" x2="3200" y1="2055" y2="2055"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3117" y="2055">AEQB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3165" y="2055">14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3150" x2="3200" y1="2025" y2="2025"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3117" y="2025">CN4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3165" y="2025">16</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3160" x2="3200" y1="1965" y2="1965"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3117" y="1965">^F3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3165" y="1965">13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3160" x2="3200" y1="1935" y2="1935"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3117" y="1935">^F2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3165" y="1935">11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3160" x2="3200" y1="1905" y2="1905"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3117" y="1905">^F1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3165" y="1905">10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3160" x2="3200" y1="1875" y2="1875"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3117" y="1875">^F0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3178" y="1874">9</text>
<circle cx="2995" cy="2115" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2994" cy="1935" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2994" cy="2025" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2994" cy="1965" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2994" cy="1904" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2995" cy="2085" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2995" cy="1875" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2994" cy="2055" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="3154" cy="1876" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="3155" cy="1906" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="3155" cy="1935" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="3154" cy="1965" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="3154" cy="2115" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="3154" cy="2146" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<rect fill="#ffffff" fill-opacity="0.5" height="550" stroke="#000000" stroke-width="5" width="150" x="3000" y="1835"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="3067" y="1815">U3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="3010" y="2431">74LS181</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2990" x2="2950" y1="2665" y2="2665"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3053" y="2665">^A0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2969" y="2665">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2990" x2="2950" y1="2695" y2="2695"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3053" y="2695">^A1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2982" y="2695">23</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2990" x2="2950" y1="2725" y2="2725"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3053" y="2725">^A2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2982" y="2725">21</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2990" x2="2950" y1="2755" y2="2755"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3053" y="2755">^A3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2982" y="2755">19</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2990" x2="2950" y1="2815" y2="2815"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3053" y="2815">^B0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2969" y="2813">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2990" x2="2950" y1="2845" y2="2845"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3053" y="2845">^B1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2983" y="2844">22</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2990" x2="2950" y1="2875" y2="2875"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3053" y="2875">^B2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2983" y="2874">20</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2990" x2="2950" y1="2905" y2="2905"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3053" y="2905">^B3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2983" y="2904">18</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3000" x2="2950" y1="2975" y2="2975"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3043" y="2975">S0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2970" y="2973">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3000" x2="2950" y1="3005" y2="3005"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3043" y="3005">S1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2970" y="3004">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3000" x2="2950" y1="3035" y2="3035"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3043" y="3035">S2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2970" y="3034">4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3000" x2="2950" y1="3065" y2="3065"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3043" y="3065">S3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2970" y="3064">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3000" x2="2950" y1="3125" y2="3125"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3043" y="3125">CN</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2970" y="3126">7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3000" x2="2950" y1="3155" y2="3155"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3033" y="3155">M</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2970" y="3156">8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3160" x2="3200" y1="2935" y2="2935"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3117" y="2935">^G</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3165" y="2935">17</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3160" x2="3200" y1="2905" y2="2905"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3117" y="2905">^P</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3165" y="2905">15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3150" x2="3200" y1="2845" y2="2845"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3117" y="2845">AEQB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3165" y="2845">14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3150" x2="3200" y1="2815" y2="2815"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3117" y="2815">CN4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3165" y="2815">16</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3160" x2="3200" y1="2755" y2="2755"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3117" y="2755">^F3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3165" y="2755">13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3160" x2="3200" y1="2725" y2="2725"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3117" y="2725">^F2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3165" y="2725">11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3160" x2="3200" y1="2695" y2="2695"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3117" y="2695">^F1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3165" y="2695">10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3160" x2="3200" y1="2665" y2="2665"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3117" y="2665">^F0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3178" y="2664">9</text>
<circle cx="2995" cy="2905" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2994" cy="2725" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2994" cy="2815" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2994" cy="2755" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2994" cy="2694" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2995" cy="2875" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2995" cy="2665" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2994" cy="2845" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="3154" cy="2666" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="3155" cy="2696" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="3155" cy="2725" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="3154" cy="2755" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="3154" cy="2905" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="3154" cy="2936" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<rect fill="#ffffff" fill-opacity="0.5" height="550" stroke="#000000" stroke-width="5" width="150" x="3000" y="2625"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="3067" y="2605">U4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="3010" y="3221">74LS181</text>
<polygon fill="#ffff80" points="1550 45, 1550 20, 1675 20, 1700 45, 1675 70, 1550 70, 1550 45" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1550" y="45">A[15..0]</text>
<polyline fill="none" points="3200 585, 3250 585, 3250 1035, 2900 1035, 2900 1595, 2950 1595" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="3200 1285, 3250 1285, 3250 1765, 2900 1765, 2900 2335, 2950 2335" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="3200 2025, 3250 2025, 3250 2515, 2900 2515, 2900 3125, 2950 3125" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polygon fill="#ffff80" points="1550 3245, 1550 3220, 1675 3220, 1700 3245, 1675 3270, 1550 3270, 1550 3245" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1550" y="3245">B[15..0]</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2860" y="435">A0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2860" y="465">A1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2860" y="495">A2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2860" y="525">A3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2860" y="1135">A4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2860" y="1165">A5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2860" y="1195">A6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2860" y="1225">A7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2860" y="1875">A8</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2860" y="1905">A9</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2860" y="1935">A10</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2860" y="1965">A11</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2860" y="2665">A12</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2860" y="2695">A13</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2860" y="2725">A14</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2860" y="2755">A15</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2660" y="585">B0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2660" y="615">B1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2660" y="645">B2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2660" y="675">B3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2660" y="1285">B4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2660" y="1315">B5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2660" y="1345">B6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2660" y="1375">B7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2660" y="2025">B8</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2660" y="2055">B9</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2660" y="2085">B10</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2660" y="2115">B11</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2660" y="2815">B12</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2660" y="2845">B13</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2660" y="2875">B14</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2660" y="2905">B15</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="3300" y="435">F0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="3300" y="465">F1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="3300" y="495">F2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="3300" y="525">F3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="3300" y="1135">F4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="3300" y="1165">F5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="3300" y="1195">F6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="3300" y="1225">F7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="3300" y="1875">F8</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="3300" y="1905">F9</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="3300" y="1935">F10</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="3300" y="1965">F11</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="3300" y="2665">F12</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="3300" y="2695">F13</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="3300" y="2725">F14</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="3300" y="2755">F15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="610" x2="570" y1="1525" y2="1525"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="672" y="1522">^1G</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="593" y="1525">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="620" x2="570" y1="1435" y2="1435"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="653" y="1436">A</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="592" y="1434">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="620" x2="570" y1="1465" y2="1465"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="653" y="1465">B</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="592" y="1464">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="780" x2="820" y1="1435" y2="1435"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="739" y="1441">Y0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="799" y="1435">4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="780" x2="820" y1="1465" y2="1465"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="740" y="1469">Y1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="799" y="1465">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="780" x2="820" y1="1495" y2="1495"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="740" y="1497">Y2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="799" y="1495">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="780" x2="820" y1="1525" y2="1525"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="740" y="1525">Y3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="800" y="1526">7</text>
<circle cx="615" cy="1525" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="775" cy="1435" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="776" cy="1525" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="775" cy="1496" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="775" cy="1465" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<rect fill="#ffffff" fill-opacity="0.5" height="124" stroke="#000000" stroke-width="5" width="146" x="622" y="1419"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="689" y="1413">U5</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="624" y="1585">74LS139D</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1470" y="1915">CN</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1470" y="2125">M</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1470" y="1815">S3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1180" x2="1120" y1="1685" y2="1685"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1180" x2="1120" y1="1745" y2="1745"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1310" x2="1370" y1="1715" y2="1715"/>
<path d="M1258 1663 A 47 47 0 1 1 1258 1756" fill="none" stroke="#000000" stroke-linecap="round" stroke-width="5"/>
<polyline fill="none" points="1259 1757, 1180 1757, 1180 1663, 1259 1663" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1221" y="1657">U8</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1204" y="1803">AND1</text>
<polyline fill="none" points="1370 1715, 1570 1715, 2070 1715" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1470" y="1715">S2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1470" y="1615">S1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1180" x2="1120" y1="1465" y2="1465"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1180" x2="1120" y1="1525" y2="1525"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1310" x2="1370" y1="1495" y2="1495"/>
<path d="M1258 1443 A 47 47 0 1 1 1258 1536" fill="none" stroke="#000000" stroke-linecap="round" stroke-width="5"/>
<polyline fill="none" points="1259 1537, 1180 1537, 1180 1443, 1259 1443" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1221" y="1437">U9</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1204" y="1583">AND1</text>
<polyline fill="none" points="1370 1495, 1570 1495, 1970 1495" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1470" y="1495">S0</text>
<polyline fill="none" points="2950 925, 2220 925, 2220 3155, 2950 3155" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 2365, 2220 2365" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 1625, 2220 1625" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1370 2125, 2220 2125" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 895, 2170 895, 2170 1915, 1320 1915, 920 1915" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 835, 2120 835, 2120 3065, 2950 3065" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 2275, 2120 2275" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 1535, 2120 1535" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 805, 2070 805, 2070 3035, 2950 3035" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 2245, 2070 2245" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 1505, 2070 1505" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 775, 2020 775, 2020 3005, 2950 3005" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 2215, 2020 2215" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 1475, 2020 1475" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 745, 1970 745, 1970 2975, 2950 2975" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 2185, 1970 2185" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 1445, 1970 1445" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polygon fill="#ffff80" points="20 1435, 20 1410, 245 1410, 270 1435, 245 1460, 20 1460, 20 1435" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="20" y="1435">ALUControl0</text>
<polygon fill="#ffff80" points="20 1525, 20 1500, 245 1500, 270 1525, 245 1550, 20 1550, 20 1525" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="20" y="1525">ALUControl1</text>
<polyline fill="none" points="570 1435, 270 1435" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="570 1465, 370 1465, 370 1525, 270 1525" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="820" y="1435">or</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="820" y="1495">add</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="820" y="1525">sub</text>
<polyline fill="none" points="820 1525, 920 1525, 920 1815, 1470 1815, 2120 1815" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="820 1465, 1020 1465, 1020 1685, 1120 1685" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="820 1495, 970 1495, 970 1745, 1120 1745" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="970 1615, 2020 1615" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="820 1435, 1120 1435, 1120 1465" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="920 1525, 1120 1525" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1180" x2="1120" y1="2095" y2="2095"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1180" x2="1120" y1="2155" y2="2155"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1310" x2="1370" y1="2125" y2="2125"/>
<path d="M1258 2073 A 47 47 0 1 1 1258 2166" fill="none" stroke="#000000" stroke-linecap="round" stroke-width="5"/>
<polyline fill="none" points="1259 2167, 1180 2167, 1180 2073, 1259 2073" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1221" y="2067">U6</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1204" y="2213">AND1</text>
<polyline fill="none" points="1120 2095, 970 2095, 970 1745" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1120 2155, 920 2155, 920 1815" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="820" y="1465">and</text>
<polyline fill="none" points="1700 45, 2760 45, 2760 2765, 2760 2805" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2760" x2="2810" y1="2805" y2="2755"/>
<polyline fill="none" points="2950 2755, 2810 2755" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 2725, 2810 2725" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 2695, 2810 2695" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 2665, 2810 2665" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 1965, 2810 1965" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 1935, 2810 1935" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 1905, 2810 1905" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 1875, 2810 1875" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 1225, 2810 1225" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 1195, 2810 1195" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 1165, 2810 1165" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 1135, 2810 1135" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 525, 2810 525" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 495, 2810 495" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 465, 2810 465" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 435, 2810 435" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2760" x2="2810" y1="485" y2="435"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2760" x2="2810" y1="515" y2="465"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2760" x2="2810" y1="545" y2="495"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2760" x2="2810" y1="575" y2="525"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2760" x2="2810" y1="1185" y2="1135"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2760" x2="2810" y1="1215" y2="1165"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2760" x2="2810" y1="1245" y2="1195"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2760" x2="2810" y1="1275" y2="1225"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2760" x2="2810" y1="1925" y2="1875"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2760" x2="2810" y1="1955" y2="1905"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2760" x2="2810" y1="1985" y2="1935"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2760" x2="2810" y1="2015" y2="1965"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2760" x2="2810" y1="2715" y2="2665"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2760" x2="2810" y1="2745" y2="2695"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2760" x2="2810" y1="2775" y2="2725"/>
<polyline fill="none" points="2950 585, 2610 585" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2560" x2="2610" y1="635" y2="585"/>
<polyline fill="none" points="1700 3245, 2560 3245, 2560 635" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="2950 615, 2610 615" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 645, 2610 645" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 675, 2610 675" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 1285, 2610 1285" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 1315, 2610 1315" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 1345, 2610 1345" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 1375, 2610 1375" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 2025, 2620 2025, 2610 2025" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 2055, 2610 2055" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 2085, 2610 2085" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 2115, 2610 2115" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 2815, 2610 2815" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 2845, 2610 2845" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 2875, 2610 2875" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2950 2905, 2610 2905" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2560" x2="2610" y1="2865" y2="2815"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2560" x2="2610" y1="2895" y2="2845"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2560" x2="2610" y1="2925" y2="2875"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2560" x2="2610" y1="2955" y2="2905"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2560" x2="2610" y1="2165" y2="2115"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2560" x2="2610" y1="2135" y2="2085"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2560" x2="2610" y1="2105" y2="2055"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2560" x2="2610" y1="2075" y2="2025"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2560" x2="2610" y1="1425" y2="1375"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2560" x2="2610" y1="1395" y2="1345"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2560" x2="2610" y1="1365" y2="1315"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2560" x2="2610" y1="1335" y2="1285"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2560" x2="2610" y1="725" y2="675"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2560" x2="2610" y1="695" y2="645"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2560" x2="2610" y1="665" y2="615"/>
<polyline fill="none" points="3200 435, 3350 435" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="3200 465, 3350 465" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="3200 495, 3350 495" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="3200 525, 3350 525" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="3200 1135, 3350 1135" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="3200 1165, 3350 1165" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="3200 1195, 3350 1195" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="3200 1225, 3350 1225" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="3200 1875, 3350 1875" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="3200 1905, 3350 1905" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="3200 1935, 3350 1935" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="3200 1965, 3350 1965" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="3200 2665, 3350 2665" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="3200 2695, 3350 2695" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="3200 2725, 3350 2725" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="3200 2755, 3350 2755" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3350" x2="3400" y1="435" y2="385"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3350" x2="3400" y1="465" y2="415"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3350" x2="3400" y1="495" y2="445"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3350" x2="3400" y1="525" y2="475"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3350" x2="3400" y1="1135" y2="1085"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3350" x2="3400" y1="1165" y2="1115"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3350" x2="3400" y1="1195" y2="1145"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3350" x2="3400" y1="1225" y2="1175"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3350" x2="3400" y1="1875" y2="1825"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3350" x2="3400" y1="1905" y2="1855"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3350" x2="3400" y1="1935" y2="1885"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3350" x2="3400" y1="1965" y2="1915"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3350" x2="3400" y1="2665" y2="2615"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3350" x2="3400" y1="2695" y2="2645"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3350" x2="3400" y1="2725" y2="2675"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3350" x2="3400" y1="2755" y2="2705"/>
<polyline fill="none" points="3400 2705, 3400 385, 3600 385" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polygon fill="#ffff80" points="3600 385, 3600 360, 3725 360, 3750 385, 3725 410, 3600 410, 3600 385" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3600" y="385">F[15..0]</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="宋体" font-size="180" font-weight="700" text-anchor="start" x="70" y="595">算术逻辑运算器</text>
<circle cx="920" cy="1815" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="970" cy="1745" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="920" cy="1525" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="970" cy="1615" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2020" cy="1615" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2120" cy="1815" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1970" cy="1445" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1970" cy="2185" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2020" cy="1475" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2020" cy="2215" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2070" cy="1505" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2070" cy="2245" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2120" cy="1535" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2120" cy="2275" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="920" cy="1915" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2220" cy="2125" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2220" cy="1625" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2220" cy="2365" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1970" cy="1495" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2070" cy="1715" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
</svg>
添加文件
这个 源代码变更 因为 太大 而不能显示。 你可以 浏览blob
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<svg height="2993" version="1.1" width="4492" xmlns="http://www.w3.org/2000/svg">
<rect fill="#80ff80" height="900" stroke="#800000" stroke-width="1" width="600" x="1619" y="748"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Times New Roman" font-size="105" font-weight="700" text-anchor="start" x="1619" y="638">REG</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1619" y="688">reg.dlsche</text>
<polygon fill="#ffff80" points="1619 1148, 1644 1123, 1694 1123, 1719 1148, 1694 1173, 1644 1173, 1619 1148" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1731" y="1148">rt[9..8]</text>
<polygon fill="#ffff80" points="1619 1048, 1644 1023, 1694 1023, 1719 1048, 1694 1073, 1644 1073, 1619 1048" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1731" y="1048">rs[11..10]</text>
<polygon fill="#ffff80" points="1619 1248, 1644 1223, 1694 1223, 1719 1248, 1694 1273, 1644 1273, 1619 1248" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1731" y="1248">RegDst[1..0]</text>
<polygon fill="#ffff80" points="1619 1348, 1644 1323, 1694 1323, 1719 1348, 1694 1373, 1644 1373, 1619 1348" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1731" y="1348">WD[15..0]</text>
<polygon fill="#ffff80" points="1619 1548, 1644 1523, 1694 1523, 1719 1548, 1694 1573, 1644 1573, 1619 1548" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1731" y="1548">CLK</text>
<polygon fill="#ffff80" points="2219 1048, 2194 1023, 2144 1023, 2119 1048, 2144 1073, 2194 1073, 2219 1048" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1972" y="1048">SrcA[15..0]</text>
<polygon fill="#ffff80" points="2219 1348, 2194 1323, 2144 1323, 2119 1348, 2144 1373, 2194 1373, 2219 1348" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1972" y="1348">SrcB[15..0]</text>
<polygon fill="#ffff80" points="1619 898, 1644 873, 1694 873, 1719 898, 1694 923, 1644 923, 1619 898" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1731" y="898">reg_write</text>
<polygon fill="#ffff80" points="1619 1448, 1644 1423, 1694 1423, 1719 1448, 1694 1473, 1644 1473, 1619 1448" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1731" y="1448">RESET</text>
<rect fill="#80ff80" height="650" stroke="#800000" stroke-width="1" width="500" x="3319" y="1798"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Times New Roman" font-size="105" font-weight="700" text-anchor="start" x="3319" y="1748">MUX2</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3319" y="1798">3mux1.dlsche</text>
<polygon fill="#ffff80" points="3319 1948, 3344 1923, 3394 1923, 3419 1948, 3394 1973, 3344 1973, 3319 1948" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3431" y="1948">A[15..0]</text>
<polygon fill="#ffff80" points="3319 2048, 3344 2023, 3394 2023, 3419 2048, 3394 2073, 3344 2073, 3319 2048" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3431" y="2048">B[15..0]</text>
<polygon fill="#ffff80" points="3319 2248, 3344 2223, 3394 2223, 3419 2248, 3394 2273, 3344 2273, 3319 2248" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3431" y="2248">S0</text>
<polygon fill="#ffff80" points="3819 2048, 3794 2023, 3744 2023, 3719 2048, 3744 2073, 3794 2073, 3819 2048" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3612" y="2048">F[15..0]</text>
<polygon fill="#ffff80" points="3319 2148, 3344 2123, 3394 2123, 3419 2148, 3394 2173, 3344 2173, 3319 2148" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3431" y="2148">C[15..0]</text>
<polygon fill="#ffff80" points="3319 2348, 3344 2323, 3394 2323, 3419 2348, 3394 2373, 3344 2373, 3319 2348" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3431" y="2348">S1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2419" y="1348">SrcB[15..0]</text>
<rect fill="#80ff80" height="550" stroke="#800000" stroke-width="1" width="500" x="3319" y="298"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Times New Roman" font-size="105" font-weight="700" text-anchor="start" x="3319" y="248">MUX1</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3319" y="298">2mux1.dlsche</text>
<polygon fill="#ffff80" points="3319 548, 3344 523, 3394 523, 3419 548, 3394 573, 3344 573, 3319 548" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3431" y="548">A[15..0]</text>
<polygon fill="#ffff80" points="3319 448, 3344 423, 3394 423, 3419 448, 3394 473, 3344 473, 3319 448" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3431" y="448">B[15..0]</text>
<polygon fill="#ffff80" points="3319 698, 3344 673, 3394 673, 3419 698, 3394 723, 3344 723, 3319 698" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3431" y="698">select</text>
<polygon fill="#ffff80" points="3819 548, 3794 523, 3744 523, 3719 548, 3744 573, 3794 573, 3819 548" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3620" y="548">s[15..0]</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1019" y="448">PC_NEXT[15..0]</text>
<rect fill="#80ff80" height="400" stroke="#800000" stroke-width="1" width="600" x="1619" y="1998"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Times New Roman" font-size="105" font-weight="700" text-anchor="start" x="1619" y="1948">EXTEND</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1619" y="1998">extend.dlsche</text>
<polygon fill="#ffff80" points="1619 2148, 1644 2123, 1694 2123, 1719 2148, 1694 2173, 1644 2173, 1619 2148" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1731" y="2148">Instr[7..0]</text>
<polygon fill="#ffff80" points="2219 2148, 2194 2123, 2144 2123, 2119 2148, 2144 2173, 2194 2173, 2219 2148" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1960" y="2148">imm[15..0]</text>
<polygon fill="#ffff80" points="1619 2248, 1644 2223, 1694 2223, 1719 2248, 1694 2273, 1644 2273, 1619 2248" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1731" y="2248">u\s</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2419" y="1048">SrcA[15..0]</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3969" y="548">opA[15..0]</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="4019" y="2048">opB[15..0]</text>
<polyline fill="none" points="2219 1348, 4269 1348" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="2219 1048, 3019 1048, 3019 548, 3319 548" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="3319 1948, 3019 1948, 3019 1348" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="3819 548, 4219 548" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="3819 2048, 4269 2048" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2419" y="2148">imm[15..0]</text>
<polygon fill="#ffff80" points="4219 548, 4219 523, 4344 523, 4369 548, 4344 573, 4219 573, 4219 548" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="4219" y="548">opA[15..0]</text>
<polygon fill="#ffff80" points="4269 1348, 4269 1323, 4444 1323, 4469 1348, 4444 1373, 4269 1373, 4269 1348" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="4269" y="1348">SrcB[15..0]</text>
<polygon fill="#ffff80" points="4269 2048, 4269 2023, 4394 2023, 4419 2048, 4394 2073, 4269 2073, 4269 2048" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="4269" y="2048">opB[15..0]</text>
<polyline fill="none" points="1619 1548, 819 1548" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1619 1448, 819 1448" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1619 898, 819 898" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1619 2248, 819 2248" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="3319 698, 819 698" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polygon fill="#ffff80" points="669 698, 669 673, 794 673, 819 698, 794 723, 669 723, 669 698" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="669" y="698">BX</text>
<polygon fill="#ffff80" points="669 898, 669 873, 794 873, 819 898, 794 923, 669 923, 669 898" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="669" y="898">Reg_write</text>
<polygon fill="#ffff80" points="669 1448, 669 1423, 794 1423, 819 1448, 794 1473, 669 1473, 669 1448" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="669" y="1448">RESET</text>
<polygon fill="#ffff80" points="669 1548, 669 1523, 794 1523, 819 1548, 794 1573, 669 1573, 669 1548" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="669" y="1548">CLK</text>
<polygon fill="#ffff80" points="669 2248, 669 2223, 794 2223, 819 2248, 794 2273, 669 2273, 669 2248" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="669" y="2248">u\s</text>
<polygon fill="#ffff80" points="19 2558, 19 2533, 144 2533, 169 2558, 144 2583, 19 2583, 19 2558" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="19" y="2558">immSrc</text>
<polygon fill="#ffff80" points="669 448, 669 423, 894 423, 919 448, 894 473, 669 473, 669 448" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="669" y="448">PC_NEXT[15..0]</text>
<polyline fill="none" points="919 448, 3319 448" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1009" y="698">BX</text>
<polygon fill="#ffff80" points="669 1248, 669 1223, 844 1223, 869 1248, 844 1273, 669 1273, 669 1248" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="669" y="1248">RegDst[1..0]</text>
<polyline fill="none" points="869 1248, 1619 1248" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polygon fill="#ffff80" points="669 1348, 669 1323, 794 1323, 819 1348, 794 1373, 669 1373, 669 1348" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="669" y="1348">WD[15..0]</text>
<polyline fill="none" points="819 1348, 1619 1348" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="1619 1048, 849 1048, 819 1048, 519 1048" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="1619 1148, 819 1148, 519 1148" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="1619 2148, 819 2148, 519 2148" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="3019 1048, 4269 1048" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polygon fill="#ffff80" points="4269 1048, 4269 1023, 4444 1023, 4469 1048, 4444 1073, 4269 1073, 4269 1048" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="4269" y="1048">SrcA[15..0]</text>
<polygon fill="#ffff80" points="19 1748, 19 1723, 144 1723, 169 1748, 144 1773, 19 1773, 19 1748" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="19" y="1748">Instr[15..0]</text>
<polyline fill="none" points="469 1748, 169 1748" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="519" y="1048">Instr[11..10]</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="519" y="1148">Instr[9..8]</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="519" y="2148">Instr[7..0]</text>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="469" x2="519" y1="1098" y2="1048"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="469" x2="519" y1="1198" y2="1148"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="469" x2="519" y1="2198" y2="2148"/>
<polyline fill="none" points="469 1098, 469 2198" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1869" x2="1819" y1="2548" y2="2548"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1959" x2="2019" y1="2548" y2="2548"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1879 2498, 1879 2598, 1949 2548, 1879 2498" stroke="#000000" stroke-width="5"/>
<circle cx="1953" cy="2548" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1873" cy="2547" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1900" y="2497">U1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1867" y="2644">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1869" x2="1819" y1="2568" y2="2568"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1959" x2="2019" y1="2568" y2="2568"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1879 2518, 1879 2618, 1949 2568, 1879 2518" stroke="#000000" stroke-width="5"/>
<circle cx="1953" cy="2568" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1873" cy="2567" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1900" y="2517">U2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1867" y="2664">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1869" x2="1819" y1="2588" y2="2588"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1959" x2="2019" y1="2588" y2="2588"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1879 2538, 1879 2638, 1949 2588, 1879 2538" stroke="#000000" stroke-width="5"/>
<circle cx="1953" cy="2588" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1873" cy="2587" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1900" y="2537">U3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1867" y="2684">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1869" x2="1819" y1="2608" y2="2608"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1959" x2="2019" y1="2608" y2="2608"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1879 2558, 1879 2658, 1949 2608, 1879 2558" stroke="#000000" stroke-width="5"/>
<circle cx="1953" cy="2608" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1873" cy="2607" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1900" y="2557">U4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1867" y="2704">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1869" x2="1819" y1="2628" y2="2628"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1959" x2="2019" y1="2628" y2="2628"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1879 2578, 1879 2678, 1949 2628, 1879 2578" stroke="#000000" stroke-width="5"/>
<circle cx="1953" cy="2628" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1873" cy="2627" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1900" y="2577">U5</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1867" y="2724">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1869" x2="1819" y1="2648" y2="2648"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1959" x2="2019" y1="2648" y2="2648"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1879 2598, 1879 2698, 1949 2648, 1879 2598" stroke="#000000" stroke-width="5"/>
<circle cx="1953" cy="2648" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1873" cy="2647" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1900" y="2597">U6</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1867" y="2744">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1869" x2="1819" y1="2668" y2="2668"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1959" x2="2019" y1="2668" y2="2668"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1879 2618, 1879 2718, 1949 2668, 1879 2618" stroke="#000000" stroke-width="5"/>
<circle cx="1953" cy="2668" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1873" cy="2667" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1900" y="2617">U7</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1867" y="2764">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1869" x2="1819" y1="2688" y2="2688"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1959" x2="2019" y1="2688" y2="2688"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1879 2638, 1879 2738, 1949 2688, 1879 2638" stroke="#000000" stroke-width="5"/>
<circle cx="1953" cy="2688" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1873" cy="2687" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1900" y="2637">U8</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1867" y="2784">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1869" x2="1819" y1="2708" y2="2708"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1959" x2="2019" y1="2708" y2="2708"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1879 2658, 1879 2758, 1949 2708, 1879 2658" stroke="#000000" stroke-width="5"/>
<circle cx="1953" cy="2708" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1873" cy="2707" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1900" y="2657">U9</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1867" y="2804">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1869" x2="1819" y1="2728" y2="2728"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1959" x2="2019" y1="2728" y2="2728"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1879 2678, 1879 2778, 1949 2728, 1879 2678" stroke="#000000" stroke-width="5"/>
<circle cx="1953" cy="2728" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1873" cy="2727" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1900" y="2677">U10</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1867" y="2824">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1869" x2="1819" y1="2748" y2="2748"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1959" x2="2019" y1="2748" y2="2748"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1879 2698, 1879 2798, 1949 2748, 1879 2698" stroke="#000000" stroke-width="5"/>
<circle cx="1953" cy="2748" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1873" cy="2747" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1900" y="2697">U11</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1867" y="2844">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1869" x2="1819" y1="2768" y2="2768"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1959" x2="2019" y1="2768" y2="2768"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1879 2718, 1879 2818, 1949 2768, 1879 2718" stroke="#000000" stroke-width="5"/>
<circle cx="1953" cy="2768" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1873" cy="2767" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1900" y="2717">U12</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1867" y="2864">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1869" x2="1819" y1="2788" y2="2788"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1959" x2="2019" y1="2788" y2="2788"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1879 2738, 1879 2838, 1949 2788, 1879 2738" stroke="#000000" stroke-width="5"/>
<circle cx="1953" cy="2788" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1873" cy="2787" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1900" y="2737">U13</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1867" y="2884">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1869" x2="1819" y1="2808" y2="2808"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1959" x2="2019" y1="2808" y2="2808"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1879 2758, 1879 2858, 1949 2808, 1879 2758" stroke="#000000" stroke-width="5"/>
<circle cx="1953" cy="2808" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1873" cy="2807" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1900" y="2757">U14</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1867" y="2904">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1869" x2="1819" y1="2828" y2="2828"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1959" x2="2019" y1="2828" y2="2828"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1879 2778, 1879 2878, 1949 2828, 1879 2778" stroke="#000000" stroke-width="5"/>
<circle cx="1953" cy="2828" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1873" cy="2827" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1900" y="2777">U15</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1867" y="2924">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1869" x2="1819" y1="2848" y2="2848"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1959" x2="2019" y1="2848" y2="2848"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1879 2798, 1879 2898, 1949 2848, 1879 2798" stroke="#000000" stroke-width="5"/>
<circle cx="1953" cy="2848" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1873" cy="2847" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1900" y="2797">U16</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1867" y="2944">NNOT</text>
<polyline fill="none" points="1819 2548, 1669 2548" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1819 2568, 1669 2568" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1819 2588, 1669 2588" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1819 2608, 1669 2608" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1819 2628, 1669 2628" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1819 2648, 1669 2648" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1819 2668, 1669 2668" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1819 2688, 1669 2688" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1819 2708, 1669 2708" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1819 2728, 1669 2728" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1819 2748, 1669 2748" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1819 2768, 1669 2768" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1819 2788, 1669 2788" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1819 2808, 1669 2808" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1819 2828, 1669 2828" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1819 2848, 1669 2848" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2019 2548, 2169 2548" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2019 2568, 2169 2568" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2019 2588, 2169 2588" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2019 2608, 2169 2608" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2019 2628, 2169 2628" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2019 2648, 2169 2648" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2019 2668, 2169 2668" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2019 2688, 2169 2688" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2019 2708, 2169 2708" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2019 2728, 2169 2728" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2019 2748, 2169 2748" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2019 2768, 2169 2768" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2019 2788, 2169 2788" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2019 2808, 2169 2808" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2019 2828, 2169 2828" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2019 2848, 2169 2848" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1619" x2="1669" y1="2598" y2="2548"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1619" x2="1669" y1="2618" y2="2568"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1619" x2="1669" y1="2638" y2="2588"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1619" x2="1669" y1="2658" y2="2608"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1619" x2="1669" y1="2678" y2="2628"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1619" x2="1669" y1="2698" y2="2648"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1619" x2="1669" y1="2718" y2="2668"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1619" x2="1669" y1="2738" y2="2688"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1619" x2="1669" y1="2758" y2="2708"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1619" x2="1669" y1="2778" y2="2728"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1619" x2="1669" y1="2798" y2="2748"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1619" x2="1669" y1="2818" y2="2768"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1619" x2="1669" y1="2838" y2="2788"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1619" x2="1669" y1="2858" y2="2808"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1619" x2="1669" y1="2878" y2="2828"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1619" x2="1669" y1="2898" y2="2848"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2169" x2="2219" y1="2548" y2="2498"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2169" x2="2219" y1="2568" y2="2518"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2169" x2="2219" y1="2588" y2="2538"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2169" x2="2219" y1="2608" y2="2558"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2169" x2="2219" y1="2628" y2="2578"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2169" x2="2219" y1="2648" y2="2598"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2169" x2="2219" y1="2668" y2="2618"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2169" x2="2219" y1="2688" y2="2638"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2169" x2="2219" y1="2708" y2="2658"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2169" x2="2219" y1="2728" y2="2678"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2169" x2="2219" y1="2748" y2="2698"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2169" x2="2219" y1="2768" y2="2718"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2169" x2="2219" y1="2788" y2="2738"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2169" x2="2219" y1="2808" y2="2758"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2169" x2="2219" y1="2828" y2="2778"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2169" x2="2219" y1="2848" y2="2798"/>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1669" y="2568">Instr0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1669" y="2588">Instr1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1669" y="2608">Instr2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1669" y="2628">Instr3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1669" y="2648">Instr4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1669" y="2668">Instr5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1669" y="2688">Instr6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1669" y="2708">Instr7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1669" y="2728">Instr7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1669" y="2748">Instr7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1669" y="2768">Instr7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1669" y="2788">Instr7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1669" y="2808">Instr7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1669" y="2828">Instr7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1669" y="2848">Instr7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2019" y="2548">offset0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2019" y="2568">offset1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2019" y="2588">offset2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2019" y="2608">offset3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2019" y="2628">offset4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2019" y="2648">offset5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2019" y="2668">offset6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2019" y="2688">offset7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2019" y="2708">offset8</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2019" y="2728">offset9</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2019" y="2748">offset10</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2019" y="2768">offset11</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2019" y="2788">offset12</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2019" y="2808">offset13</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2019" y="2828">offset14</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2019" y="2848">offset15</text>
<polyline fill="none" points="1619 2598, 1619 2898" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="1619 2748, 1119 2748, 1119 2148" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="2219 2498, 2219 2798" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="2219 2148, 2719 2148, 2719 2048, 3319 2048" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="2219 2648, 2819 2648, 2819 2148, 3319 2148" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2369" y="2648">offset[15..0]</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3179" x2="3119" y1="2248" y2="2248"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3259" x2="3319" y1="2248" y2="2248"/>
<circle cx="3255" cy="2248" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="3179 2198, 3179 2298, 3249 2248, 3179 2198" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="3199" y="2212">U17</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="3179" y="2344">NOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3179" x2="3119" y1="2348" y2="2348"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3259" x2="3319" y1="2348" y2="2348"/>
<circle cx="3255" cy="2348" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="3179 2298, 3179 2398, 3249 2348, 3179 2298" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="3199" y="2312">U18</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="3179" y="2444">NOT</text>
<polyline fill="none" points="169 2558, 469 2558, 469 2968, 3019 2968, 3019 2248, 3119 2248" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="3119 2348, 2919 2348, 2919 698" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="宋体" font-size="180" font-weight="700" text-anchor="start" x="599" y="268">指令操作数提取</text>
<circle cx="2919" cy="698" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="3019" cy="1048" fill="#000080" r="25" stroke="#000080" stroke-width="5"/>
<circle cx="2219" cy="2648" fill="#000080" r="25" stroke="#000080" stroke-width="5"/>
<circle cx="1619" cy="2748" fill="#000080" r="25" stroke="#000080" stroke-width="5"/>
<circle cx="1119" cy="2148" fill="#000080" r="25" stroke="#000080" stroke-width="5"/>
<circle cx="469" cy="1748" fill="#000080" r="25" stroke="#000080" stroke-width="5"/>
<circle cx="3019" cy="1348" fill="#000080" r="25" stroke="#000080" stroke-width="5"/>
</svg>
添加文件
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<svg height="2869" version="1.1" width="2840" xmlns="http://www.w3.org/2000/svg">
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="612" y2="612"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1502" y="612">A3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1444" y="612">15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="642" y2="642"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1502" y="642">B3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1430" y="641">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="672" y2="672"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1502" y="672">A2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1444" y="672">13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="702" y2="702"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1502" y="702">B2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1444" y="702">14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="762" y2="762"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1502" y="762">A1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1444" y="762">12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="792" y2="792"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1502" y="792">B1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1444" y="792">11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="822" y2="822"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1502" y="822">A0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1444" y="822">10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="852" y2="852"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1502" y="852">B0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1430" y="853">9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="922" y2="922"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1531" y="922">AGTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1429" y="923">4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="952" y2="952"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1531" y="952">AEQB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1429" y="953">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="982" y2="982"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1531" y="982">ALTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1430" y="982">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1609" x2="1659" y1="672" y2="672"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1566" y="672">OALTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1636" y="672">7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1609" x2="1659" y1="642" y2="642"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1566" y="642">OAEQB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1636" y="642">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1609" x2="1659" y1="612" y2="612"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1566" y="612">OAGTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1636" y="612">5</text>
<rect fill="#ffffff" fill-opacity="0.5" height="430" stroke="#000000" stroke-width="5" width="150" x="1459" y="582"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1524" y="571">U1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1469" y="1052">74LS85D</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="1212" y2="1212"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1502" y="1212">A3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1444" y="1212">15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="1242" y2="1242"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1502" y="1242">B3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1430" y="1241">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="1272" y2="1272"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1502" y="1272">A2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1444" y="1272">13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="1302" y2="1302"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1502" y="1302">B2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1444" y="1302">14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="1362" y2="1362"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1502" y="1362">A1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1444" y="1362">12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="1392" y2="1392"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1502" y="1392">B1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1444" y="1392">11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="1422" y2="1422"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1502" y="1422">A0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1444" y="1422">10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="1452" y2="1452"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1502" y="1452">B0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1430" y="1453">9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="1522" y2="1522"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1531" y="1522">AGTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1429" y="1523">4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="1552" y2="1552"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1531" y="1552">AEQB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1429" y="1553">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="1582" y2="1582"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1531" y="1582">ALTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1430" y="1582">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1609" x2="1659" y1="1272" y2="1272"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1566" y="1272">OALTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1636" y="1272">7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1609" x2="1659" y1="1242" y2="1242"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1566" y="1242">OAEQB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1636" y="1242">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1609" x2="1659" y1="1212" y2="1212"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1566" y="1212">OAGTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1636" y="1212">5</text>
<rect fill="#ffffff" fill-opacity="0.5" height="430" stroke="#000000" stroke-width="5" width="150" x="1459" y="1182"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1524" y="1171">U2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1469" y="1652">74LS85D</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="1812" y2="1812"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1502" y="1812">A3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1444" y="1812">15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="1842" y2="1842"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1502" y="1842">B3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1430" y="1841">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="1872" y2="1872"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1502" y="1872">A2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1444" y="1872">13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="1902" y2="1902"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1502" y="1902">B2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1444" y="1902">14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="1962" y2="1962"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1502" y="1962">A1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1444" y="1962">12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="1992" y2="1992"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1502" y="1992">B1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1444" y="1992">11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="2022" y2="2022"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1502" y="2022">A0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1444" y="2022">10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="2052" y2="2052"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1502" y="2052">B0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1430" y="2053">9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="2122" y2="2122"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1531" y="2122">AGTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1429" y="2123">4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="2152" y2="2152"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1531" y="2152">AEQB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1429" y="2153">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="2182" y2="2182"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1531" y="2182">ALTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1430" y="2182">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1609" x2="1659" y1="1872" y2="1872"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1566" y="1872">OALTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1636" y="1872">7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1609" x2="1659" y1="1842" y2="1842"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1566" y="1842">OAEQB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1636" y="1842">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1609" x2="1659" y1="1812" y2="1812"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1566" y="1812">OAGTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1636" y="1812">5</text>
<rect fill="#ffffff" fill-opacity="0.5" height="430" stroke="#000000" stroke-width="5" width="150" x="1459" y="1782"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1524" y="1771">U3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1469" y="2252">74LS85D</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="2412" y2="2412"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1502" y="2412">A3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1444" y="2412">15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="2442" y2="2442"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1502" y="2442">B3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1430" y="2441">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="2472" y2="2472"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1502" y="2472">A2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1444" y="2472">13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="2502" y2="2502"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1502" y="2502">B2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1444" y="2502">14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="2562" y2="2562"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1502" y="2562">A1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1444" y="2562">12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="2592" y2="2592"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1502" y="2592">B1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1444" y="2592">11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="2622" y2="2622"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1502" y="2622">A0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1444" y="2622">10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="2652" y2="2652"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1502" y="2652">B0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1430" y="2653">9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="2722" y2="2722"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1531" y="2722">AGTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1429" y="2723">4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="2752" y2="2752"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1531" y="2752">AEQB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1429" y="2753">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1459" x2="1409" y1="2782" y2="2782"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1531" y="2782">ALTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1430" y="2782">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1609" x2="1659" y1="2472" y2="2472"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1566" y="2472">OALTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1636" y="2472">7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1609" x2="1659" y1="2442" y2="2442"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1566" y="2442">OAEQB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1636" y="2442">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1609" x2="1659" y1="2412" y2="2412"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1566" y="2412">OAGTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1636" y="2412">5</text>
<rect fill="#ffffff" fill-opacity="0.5" height="430" stroke="#000000" stroke-width="5" width="150" x="1459" y="2382"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1524" y="2371">U4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1469" y="2852">74LS85D</text>
<polygon fill="#ffff80" points="1909 2362, 1909 2337, 2034 2337, 2059 2362, 2034 2387, 1909 2387, 1909 2362" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1909" y="2362">gt</text>
<polygon fill="#ffff80" points="1909 2422, 1909 2397, 2034 2397, 2059 2422, 2034 2447, 1909 2447, 1909 2422" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1909" y="2422">eq</text>
<polygon fill="#ffff80" points="1909 2482, 1909 2457, 2034 2457, 2059 2482, 2034 2507, 1909 2507, 1909 2482" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1909" y="2482">lt</text>
<polyline fill="none" points="1659 2472, 1859 2472, 1859 2482, 1909 2482" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1659 2442, 1859 2442, 1859 2422, 1909 2422" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1659 2412, 1859 2412, 1859 2362, 1909 2362" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1659 672, 1659 1062, 1309 1062, 1309 1582, 1409 1582" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1659 642, 1669 642, 1669 1072, 1319 1072, 1319 1552, 1409 1552" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1659 612, 1679 612, 1679 1082, 1329 1082, 1329 1522, 1409 1522" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1659 1272, 1659 1672, 1309 1672, 1309 2182, 1409 2182" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1409 2152, 1319 2152, 1319 1682, 1669 1682, 1669 1242, 1659 1242" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1659 1212, 1679 1212, 1679 1692, 1329 1692, 1329 2122, 1409 2122" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1659 1872, 1659 2262, 1309 2262, 1309 2782, 1409 2782" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1409 2752, 1319 2752, 1319 2272, 1669 2272, 1669 1842, 1659 1842" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1659 1812, 1679 1812, 1679 2282, 1329 2282, 1329 2722, 1409 2722" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1359" x2="1409" y1="952" y2="952"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1359 952, 1309 902, 1309 1002, 1359 952" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Times New Roman" font-size="30" font-weight="700" text-anchor="start" transform="rotate(-90 1349 962)" x="1349" y="962">1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" transform="rotate(-90 1279 962)" x="1279" y="962">U5</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" transform="rotate(-90 1309 1042)" x="1309" y="1042">CONSTANT1</text>
<polygon fill="#ffff80" points="159 612, 159 587, 284 587, 309 612, 284 637, 159 637, 159 612" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="159" y="612">A[15..0]</text>
<polygon fill="#ffff80" points="159 2712, 159 2687, 284 2687, 309 2712, 284 2737, 159 2737, 159 2712" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="159" y="2712">B[15..0]</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1009" y="612">A0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1009" y="642">A1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1009" y="672">A2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1009" y="702">A3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1009" y="1212">A4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1009" y="1242">A5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1009" y="1272">A6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1009" y="1302">A7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1009" y="1812">A8</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1009" y="1842">A9</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1009" y="1872">A10</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1009" y="1902">A11</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1009" y="2412">A12</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1009" y="2442">A13</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1009" y="2472">A14</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1009" y="2502">A15</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="709" y="762">B0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="709" y="792">B1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="709" y="822">B2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="709" y="852">B3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="709" y="1362">B4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="709" y="1392">B5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="709" y="1422">B6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="709" y="1452">B7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="709" y="1962">B8</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="709" y="1992">B9</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="709" y="2022">B10</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="709" y="2052">B11</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="709" y="2562">B12</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="709" y="2592">B13</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="709" y="2622">B14</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="709" y="2652">B15</text>
<polyline fill="none" points="1409 612, 1009 612" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1409 642, 1009 642" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1409 672, 1009 672" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1409 702, 1009 702" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1409 762, 709 762" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1409 792, 709 792" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1409 822, 709 822" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1409 852, 709 852" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1409 1212, 1009 1212" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1409 1242, 1009 1242" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1409 1272, 1009 1272" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1409 1302, 1009 1302" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1409 1362, 709 1362" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1409 1392, 709 1392" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1409 1422, 709 1422" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1409 1452, 709 1452" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1409 1812, 1009 1812" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1409 1842, 1009 1842" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1409 1872, 1009 1872" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1409 1902, 1009 1902" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1409 1962, 709 1962" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1409 1992, 709 1992" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1409 2022, 709 2022" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1409 2052, 709 2052" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1409 2412, 1009 2412" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1409 2442, 1009 2442" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1409 2472, 1009 2472" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1409 2502, 1009 2502" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1409 2562, 709 2562" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1409 2592, 709 2592" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1409 2622, 709 2622" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1409 2652, 709 2652" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="959" x2="1009" y1="662" y2="612"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="959" x2="1009" y1="692" y2="642"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="959" x2="1009" y1="722" y2="672"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="959" x2="1009" y1="752" y2="702"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="659" x2="709" y1="812" y2="762"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="659" x2="709" y1="842" y2="792"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="659" x2="709" y1="872" y2="822"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="659" x2="709" y1="902" y2="852"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="959" x2="1009" y1="1262" y2="1212"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="959" x2="1009" y1="1292" y2="1242"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="959" x2="1009" y1="1322" y2="1272"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="959" x2="1009" y1="1352" y2="1302"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="659" x2="709" y1="1412" y2="1362"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="659" x2="709" y1="1442" y2="1392"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="659" x2="709" y1="1472" y2="1422"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="659" x2="709" y1="1502" y2="1452"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="959" x2="1009" y1="1862" y2="1812"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="959" x2="1009" y1="1892" y2="1842"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="959" x2="1009" y1="1922" y2="1872"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="959" x2="1009" y1="1952" y2="1902"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="659" x2="709" y1="2012" y2="1962"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="659" x2="709" y1="2042" y2="1992"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="659" x2="709" y1="2072" y2="2022"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="659" x2="709" y1="2102" y2="2052"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="959" x2="1009" y1="2462" y2="2412"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="959" x2="1009" y1="2492" y2="2442"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="959" x2="1009" y1="2522" y2="2472"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="959" x2="1009" y1="2552" y2="2502"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="659" x2="709" y1="2612" y2="2562"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="659" x2="709" y1="2642" y2="2592"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="659" x2="709" y1="2672" y2="2622"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="659" x2="709" y1="2702" y2="2652"/>
<polyline fill="none" points="959 2552, 959 612, 309 612" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="659 812, 659 2712, 309 2712" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="宋体" font-size="250" font-weight="700" text-anchor="start" x="-21" y="362">16位操作数比较器</text>
</svg>
添加文件
这个 源代码变更 因为 太大 而不能显示。 你可以 浏览blob
添加文件
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<svg height="1341" version="1.1" width="1568" xmlns="http://www.w3.org/2000/svg">
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="664" x2="614" y1="329" y2="329"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="707" y="329">A0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="664" x2="614" y1="349" y2="349"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="707" y="349">A1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="664" x2="614" y1="369" y2="369"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="707" y="369">A2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="664" x2="614" y1="389" y2="389"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="707" y="389">A3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="664" x2="614" y1="409" y2="409"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="707" y="409">A4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="664" x2="614" y1="429" y2="429"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="707" y="429">A5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="664" x2="614" y1="449" y2="449"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="707" y="449">A6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="664" x2="614" y1="469" y2="469"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="707" y="469">A7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="664" x2="614" y1="489" y2="489"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="707" y="489">A8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="664" x2="614" y1="509" y2="509"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="707" y="509">A9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="664" x2="614" y1="529" y2="529"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="717" y="529">A10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="664" x2="614" y1="549" y2="549"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="717" y="549">A11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="664" x2="614" y1="569" y2="569"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="717" y="569">A12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="664" x2="614" y1="589" y2="589"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="717" y="589">A13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="664" x2="614" y1="609" y2="609"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="717" y="609">A14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="664" x2="614" y1="629" y2="629"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="717" y="629">A15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="814" x2="864" y1="329" y2="329"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="771" y="329">D0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="814" x2="864" y1="349" y2="349"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="771" y="349">D1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="814" x2="864" y1="369" y2="369"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="771" y="369">D2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="814" x2="864" y1="389" y2="389"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="771" y="389">D3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="814" x2="864" y1="409" y2="409"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="771" y="409">D4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="814" x2="864" y1="429" y2="429"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="771" y="429">D5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="814" x2="864" y1="449" y2="449"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="771" y="449">D6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="814" x2="864" y1="469" y2="469"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="771" y="469">D7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="814" x2="864" y1="489" y2="489"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="771" y="489">D8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="814" x2="864" y1="509" y2="509"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="771" y="509">D9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="814" x2="864" y1="529" y2="529"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="771" y="529">D10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="814" x2="864" y1="549" y2="549"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="771" y="549">D11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="814" x2="864" y1="569" y2="569"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="771" y="569">D12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="814" x2="864" y1="589" y2="589"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="771" y="589">D13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="814" x2="864" y1="609" y2="609"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="771" y="609">D14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="814" x2="864" y1="629" y2="629"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="771" y="629">D15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="654" x2="614" y1="679" y2="679"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="707" y="679">^EN</text>
<rect fill="#a0c0ff" fill-opacity="0.5" height="420" stroke="#000000" stroke-width="5" width="150" x="664" y="299"/>
<circle cx="659" cy="679" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="30" font-weight="700" text-anchor="start" x="574" y="279">Sign_extend_gate</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="624" y="769">BUS_TRANS16</text>
<polyline fill="none" points="614 349, 364 349" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="614 369, 364 369" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="614 389, 364 389" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="614 409, 364 409" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="614 429, 364 429" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="614 449, 364 449" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="614 629, 614 469, 364 469" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="864 329, 1064 329, 1214 329" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="864 349, 1064 349, 1214 349" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="864 369, 1064 369, 1214 369" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="864 389, 1064 389, 1214 389" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="864 409, 1064 409, 1214 409" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="864 429, 1064 429, 1214 429" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="864 449, 1064 449, 1214 449" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="864 469, 1064 469, 1214 469" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="864 489, 1064 489, 1214 489" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="864 509, 1064 509, 1214 509" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="864 529, 1064 529, 1214 529" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="864 549, 1064 549, 1214 549" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="864 569, 1064 569, 1214 569" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="864 589, 1064 589, 1214 589" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="864 609, 1064 609, 1214 609" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="864 629, 1064 629, 1214 629" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1214" x2="1264" y1="329" y2="279"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1214" x2="1264" y1="349" y2="299"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1214" x2="1264" y1="369" y2="319"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1214" x2="1264" y1="389" y2="339"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1214" x2="1264" y1="409" y2="359"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1214" x2="1264" y1="429" y2="379"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1214" x2="1264" y1="449" y2="399"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1214" x2="1264" y1="469" y2="419"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1214" x2="1264" y1="489" y2="439"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1214" x2="1264" y1="509" y2="459"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1214" x2="1264" y1="529" y2="479"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1214" x2="1264" y1="549" y2="499"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1214" x2="1264" y1="569" y2="519"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1214" x2="1264" y1="589" y2="539"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1214" x2="1264" y1="609" y2="559"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1214" x2="1264" y1="629" y2="579"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="314" x2="364" y1="399" y2="349"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="314" x2="364" y1="419" y2="369"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="314" x2="364" y1="439" y2="389"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="314" x2="364" y1="459" y2="409"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="314" x2="364" y1="479" y2="429"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="314" x2="364" y1="499" y2="449"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="314" x2="364" y1="519" y2="469"/>
<polygon fill="#ffff80" points="64 329, 64 304, 189 304, 214 329, 189 354, 64 354, 64 329" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="64" y="329">Instr[7..0]</text>
<polyline fill="none" points="614 329, 364 329" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="314" x2="364" y1="379" y2="329"/>
<polygon fill="#ffff80" points="64 979, 64 954, 189 954, 214 979, 189 1004, 64 1004, 64 979" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="64" y="979">u\s</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="664" x2="614" y1="879" y2="879"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="707" y="879">A0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="664" x2="614" y1="899" y2="899"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="707" y="899">A1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="664" x2="614" y1="919" y2="919"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="707" y="919">A2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="664" x2="614" y1="939" y2="939"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="707" y="939">A3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="664" x2="614" y1="959" y2="959"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="707" y="959">A4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="664" x2="614" y1="979" y2="979"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="707" y="979">A5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="664" x2="614" y1="999" y2="999"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="707" y="999">A6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="664" x2="614" y1="1019" y2="1019"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="707" y="1019">A7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="664" x2="614" y1="1039" y2="1039"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="707" y="1039">A8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="664" x2="614" y1="1059" y2="1059"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="707" y="1059">A9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="664" x2="614" y1="1079" y2="1079"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="717" y="1079">A10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="664" x2="614" y1="1099" y2="1099"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="717" y="1099">A11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="664" x2="614" y1="1119" y2="1119"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="717" y="1119">A12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="664" x2="614" y1="1139" y2="1139"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="717" y="1139">A13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="664" x2="614" y1="1159" y2="1159"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="717" y="1159">A14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="664" x2="614" y1="1179" y2="1179"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="717" y="1179">A15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="814" x2="864" y1="879" y2="879"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="771" y="879">D0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="814" x2="864" y1="899" y2="899"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="771" y="899">D1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="814" x2="864" y1="919" y2="919"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="771" y="919">D2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="814" x2="864" y1="939" y2="939"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="771" y="939">D3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="814" x2="864" y1="959" y2="959"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="771" y="959">D4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="814" x2="864" y1="979" y2="979"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="771" y="979">D5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="814" x2="864" y1="999" y2="999"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="771" y="999">D6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="814" x2="864" y1="1019" y2="1019"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="771" y="1019">D7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="814" x2="864" y1="1039" y2="1039"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="771" y="1039">D8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="814" x2="864" y1="1059" y2="1059"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="771" y="1059">D9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="814" x2="864" y1="1079" y2="1079"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="771" y="1079">D10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="814" x2="864" y1="1099" y2="1099"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="771" y="1099">D11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="814" x2="864" y1="1119" y2="1119"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="771" y="1119">D12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="814" x2="864" y1="1139" y2="1139"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="771" y="1139">D13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="814" x2="864" y1="1159" y2="1159"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="771" y="1159">D14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="814" x2="864" y1="1179" y2="1179"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="771" y="1179">D15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="654" x2="614" y1="1229" y2="1229"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="707" y="1229">^EN</text>
<rect fill="#a0c0ff" fill-opacity="0.5" height="420" stroke="#000000" stroke-width="5" width="150" x="664" y="849"/>
<circle cx="659" cy="1229" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="30" font-weight="700" text-anchor="start" x="604" y="839">Bit_extend_gate</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="624" y="1319">BUS_TRANS16</text>
<polyline fill="none" points="614 879, 564 879, 564 329" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="614 899, 554 899, 554 349" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="614 919, 544 919, 544 369" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="614 939, 534 939, 534 389" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="614 959, 524 959, 524 409" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="614 979, 514 979, 514 429" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="614 999, 504 999, 504 449" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="614 1019, 494 1019, 494 469" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="364" x2="364" y1="819" y2="879"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="364" x2="364" y1="739" y2="679"/>
<circle cx="364" cy="743" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="314 819, 414 819, 364 749, 314 819" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" transform="rotate(-90 328 799)" x="328" y="799">U1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" transform="rotate(-90 460 819)" x="460" y="819">NOT</text>
<polyline fill="none" points="614 679, 364 679" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="614 1229, 364 1229, 364 879" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="214 979, 364 979" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="864 879, 884 879, 884 329" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="864 899, 894 899, 894 349" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="864 919, 904 919, 904 369" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="864 939, 914 939, 914 389" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="864 959, 924 959, 924 409" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="864 979, 934 979, 934 429" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="864 999, 944 999, 944 449" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="864 1019, 954 1019, 954 469" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="864 1039, 964 1039, 964 489" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="864 1059, 974 1059, 974 509" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="864 1079, 984 1079, 984 529" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="864 1099, 994 1099, 994 549" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="864 1119, 1004 1119, 1004 569" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="864 1139, 1014 1139, 1014 589" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="864 1159, 1024 1159, 1024 609" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="864 1179, 1034 1179, 1034 629" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="384" y="329">Instr0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="384" y="349">Instr1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="384" y="369">Instr2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="384" y="389">Instr3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="384" y="409">Instr4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="384" y="429">Instr5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="384" y="449">Instr6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="384" y="469">Instr7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1054" y="329">imm0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1054" y="349">imm1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1054" y="369">imm2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1054" y="389">imm3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1054" y="409">imm4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1054" y="429">imm5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1054" y="449">imm6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1054" y="469">imm7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1054" y="489">imm8</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1054" y="509">imm9</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1054" y="529">imm10</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1054" y="549">imm11</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1054" y="569">imm12</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1054" y="589">imm13</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1054" y="609">imm14</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1054" y="629">imm15</text>
<polyline fill="none" points="314 519, 314 329, 214 329" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="1264 579, 1264 229, 1364 229" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polygon fill="#ffff80" points="1364 229, 1364 204, 1519 204, 1544 229, 1519 254, 1364 254, 1364 229" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1364" y="229">imm[15..0]</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="宋体" font-size="90" font-weight="700" text-anchor="start" x="14" y="139">位扩展器,8位扩展为16位</text>
<circle cx="614" cy="469" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="614" cy="489" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="614" cy="509" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="614" cy="529" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="614" cy="549" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="614" cy="569" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="614" cy="589" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="614" cy="609" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1034" cy="629" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1024" cy="609" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1014" cy="589" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1004" cy="569" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="994" cy="549" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="984" cy="529" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="974" cy="509" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="964" cy="489" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="954" cy="469" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="944" cy="449" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="934" cy="429" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="924" cy="409" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="914" cy="389" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="904" cy="369" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="894" cy="349" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="884" cy="329" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="364" cy="979" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="494" cy="469" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="504" cy="449" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="514" cy="429" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="524" cy="409" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="534" cy="389" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="544" cy="369" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="554" cy="349" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="564" cy="329" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<project id="3faa0427-6dad-4fdb-8fe5-a06137669a6e" name="mips-single-cycle" version="1">
<files>
<filefolder id="c0a181af-d67c-4dd0-9275-aa277475c77c" name="子模块">
<file relativepath="2mux1.dlsche"/>
<file relativepath="alu.dlsche"/>
<file relativepath="compare.dlsche"/>
<file relativepath="control.dlsche"/>
<file relativepath="al_operation.dlsche"/>
<file relativepath="extend.dlsche"/>
<file relativepath="pc_new.dlsche"/>
<file relativepath="alu_operand.dlsche"/>
<file relativepath="reg.dlsche"/>
<file relativepath="3mux1.dlsche"/>
</filefolder>
<filefolder id="2156f6c8-84d5-409f-859c-fddce752753a" name="存储器映射文件">
<file relativepath="rom.rxm"/>
</filefolder>
<filefolder id="3463ada9-1cc7-4838-ab12-f98af0a12bf2" name="源程序文件">
<file relativepath="rom.asm"/>
<file relativepath="rom.bat"/>
</filefolder>
<file relativepath="MIPS.dlsche"/>
<file relativepath="README.md"/>
</files>
</project>
添加文件
/*******************************************************************************
Copyright (c) 2008 - 2018 北京英真时代科技有限公司。保留所有权利。
*******************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
typedef unsigned char BYTE;
typedef long BOOL;
#define FALSE 0
#define TRUE 1
#define MAX_LINE_LENGTH 256 // 一行代码最多可以有多少个字符
#define MAX_LINE_COUNT 1024 // 源代码文件最多可以有多少行
#define MAX_SYMBOL_LENGTH 64 // 一个符号最多可以包含多少个字符
#define MAX_SYMBOL_COUNT 256 // 源代码文件中最多可以包含多少个符号
#define MAX_INSTR_KEY_WORD_LENGTH 32 // 一个指令关键字最多可以包含多少个字符
#ifndef MAX_PATH
#define MAX_PATH 256 // 文件路径最多可以包含多少个字符
#endif
// 代码行数据库。记录源代码文件中所有代码行的信息(包括注释行、空行)
struct LINE_RECORD
{
char line_string[MAX_LINE_LENGTH]; // 代码行的内容
unsigned long line_num; // 行号
unsigned long address; // 此行代码转换的机器码在映像文件中的地址(偏移)
int machine_code_count; // 此行代码转换的机器码的字节数量
unsigned long flag; // 代码行标志位,32位
};
struct LINE_RECORD line_database[MAX_LINE_COUNT] = {0};
int line_count = 0;
int machine_code_line_count = 0; // 记录产生了机器码的代码行的数量
// 在此定义所有的代码行标志位。注意,代码行标志位是按位或的关系。
#define LF_INSTRUCTION 0x00000001 // 代码行标志位的最低位是1,表示此行是一条指令,否则表示此行是数据
// 重定位表。如果指令中使用了标号、变量名等符号,在第一次扫描时无法确定他们的地址,需要
// 在第二次扫描时进行重定位。
struct REALLOCATE
{
unsigned long address; // 第一次扫描时,在这里记录了需要重定位的机器码的地址(偏移),
// 第二次扫描时,根据符号的地址进行重定位。
char symbol_name[MAX_SYMBOL_LENGTH]; // 需要重定位的符号名称。
int line_num; // 行号。
char instr_key_word[MAX_INSTR_KEY_WORD_LENGTH]; // 指令关键字
};
struct REALLOCATE reallocate_table[MAX_LINE_COUNT] = {0};
int reallocate_count = 0;
// 符号表。符号包括源代码中的标号、变量名。
struct SYMBOL
{
char name[MAX_SYMBOL_LENGTH]; // 符号名称
unsigned long address; // 符号表示的地址。重定位时需要用到。
int machine_code_count; // 符号生成的机器码的数量(以字节为单位)。
int line_num; // 行号
int ref_count; // 引用计数
};
struct SYMBOL symbol_table[MAX_SYMBOL_COUNT] = {0};
int symbol_count = 0;
// 汇编过程的状态
enum
{
AS_BEGIN // 起始状态。在遇到代码段名称前,处于此状态
,AS_TEXT // 正在处理代码段。遇到代码段名称后,遇到数据的名称前,处于此状态
,AS_DATA // 正在处理数据段。遇到数据段名称后,处于此状态
};
unsigned long assembler_state = AS_BEGIN;
//
// 在下面定义所有的关键字
//
// 段名称
const char* code_section_keyword = ".text"; // 代码段标志
char const* data_section_keyword = ".data"; // 数据段标志
// 指令名称
// R型指令
const char* or_instruction_keyword = "or";
const char* and_instruction_keyword = "and";
const char* add_instruction_keyword = "add";
const char* sub_instruction_keyword = "sub";
const char* sllv_instruction_keyword = "sllv";
const char* srlv_instruction_keyword = "srlv";
const char* srav_instruction_keyword = "srav";
const char* slt_instruction_keyword = "slt";
const char* jr_instruction_keyword = "jr"; // jr rs 跳转寄存器,PC=[rs]
const char* jalr_instruction_keyword = "jalr"; // jalr rs 跳转和链接寄存器,$ra = PC+2,PC=[rs]
const char* sll_instruction_keyword = "sll";
const char* srl_instruction_keyword = "srl";
const char* sra_instruction_keyword = "sra";
const char* xor_instruction_keyword = "xor";
const char* nor_instruction_keyword = "nor";
// I型指令
const char* ori_instruction_keyword = "ori";
const char* andi_instruction_keyword = "andi";
const char* addi_instruction_keyword = "addi";
const char* lw_instruction_keyword = "lw";
const char* sw_instruction_keyword = "sw";
const char* beq_instruction_keyword = "beq";
const char* bne_instruction_keyword = "bne";
const char* bgt_instruction_keyword = "bgt";
const char* bltz_instruction_keyword = "bltz";// bltz rs, lable 如果rs小于0则转移
const char* bgez_instruction_keyword = "bgez";// bgez rs, lable 如果rs大于或等于0则转移
// J型指令
const char* jump_instruction_keyword = "jump";
const char* jal_instruction_keyword = "jal"; // jal lable 跳转并链接,$ra = PC+2,PC=跳转目标地址
// 通用寄存器名称
const char* r0_register_keyword = "$r0";
const char* r1_register_keyword = "$r1";
const char* r2_register_keyword = "$r2";
const char* r3_register_keyword = "$r3";
const char* ra_register_keyword = "$ra"; // 返回地址寄存器
const char* t0_register_keyword = "$t0"; // 常数0寄存器
const char* delimit_char = "\n\t\r "; // 需要忽略的空白字符
const char* delimit_char_comma = "\n\t\r, "; // 需要忽略的空白字符,包括英文逗号
// 汇编产生的机器码
#define MAX_MACHINE_CODE 1024
BYTE machine_code[MAX_MACHINE_CODE];
unsigned long machine_code_address = 0;
unsigned long machine_code_old_address = 0;
const char* assembly_file_name = NULL; // 汇编文件路径
const char* target_file_name = NULL; // 目标文件路径
const char* list_file_name = NULL; // 列表文件路径
const char* dbg_file_name = NULL; // 调试信息文件路径
const unsigned long dbg_file_magic = 58;
const unsigned long dbg_file_version = 1;
// 输出汇编过程中发现的语法错误信息
void error_msg(const char* error_msg, int line_num)
{
if(line_num >= 1)
{
printf("%s:%d: error: %s\n", assembly_file_name, line_num, error_msg);
}
else
{
printf("%s: error: %s\n", assembly_file_name, error_msg);
}
exit(1);
}
char formated_msg[1024]; // 将格式化后的错误信息放在此字符串中。
void error_msg_warning_instr(const char* instruction_name, int line_num)
{
sprintf(formated_msg, "%s 指令在微处理器还没有实现,不能正确执行。", instruction_name);
error_msg(formated_msg, line_num);
}
void error_msg_miss_op(const char* instruction_name, int line_num)
{
sprintf(formated_msg, "%s 指令缺少操作数。", instruction_name);
error_msg(formated_msg, line_num);
}
void error_msg_wrong_op(const char* instruction_name, int line_num)
{
sprintf(formated_msg, "%s 指令不支持这样的操作数。", instruction_name);
error_msg(formated_msg, line_num);
}
void error_msg_same_symbol(const char* symbol, int line_num, int ref_line_num)
{
sprintf(formated_msg, "符号 %s 重复定义。参见第 %d 行。", symbol, ref_line_num);
error_msg(formated_msg, line_num);
}
void error_msg_keyword_symbol(const char* symbol, int line_num)
{
sprintf(formated_msg, "不能使用保留的关键字 %s 作为符号名称。", symbol);
error_msg(formated_msg, line_num);
}
void error_msg_wrong_data(const char* data, int line_num)
{
sprintf(formated_msg, "%s 不是有效的数据。", data);
error_msg(formated_msg, line_num);
}
// 输出汇编过程中发现的警告信息
void warning_msg(const char* warning_msg, int line_num)
{
if(line_num >= 1)
{
printf("%s:%d: warning: %s\n", assembly_file_name, line_num, warning_msg);
}
else
{
printf("%s: warning: %s\n", assembly_file_name, warning_msg);
}
}
void warning_msg_invalid_line(int line_num)
{
warning_msg("忽略无效的代码行。", line_num);
}
void warning_msg_unref_symbol(const char* symbol, int line_num)
{
sprintf(formated_msg, "符号 %s 未被引用。", symbol);
warning_msg(formated_msg, line_num);
}
// 判断是否是立即数。如果是数字开头,或者是负号开头的,就认为是立即数。
int is_immediate(const char* token)
{
return (isdigit(token[0]) || '-' == token[0]) ? 1 : 0;
}
// 指令操作数类型
enum
{
OT_REGISTER_R0 // $r0
,OT_REGISTER_R1 // $r1
,OT_REGISTER_R2 // $r2
,OT_REGISTER_R3 // $r3
,OT_IMMEDIATE // 立即数
,OT_SYMBOL // 符号
};
// 得到指令操作数的类型
unsigned long get_operand_type(const char* op)
{
unsigned long op_type;
if(stricmp(op, r0_register_keyword) == 0)
{
op_type = OT_REGISTER_R0;
}
else if(stricmp(op, r1_register_keyword) == 0)
{
op_type = OT_REGISTER_R1;
}
else if(stricmp(op, r2_register_keyword) == 0)
{
op_type = OT_REGISTER_R2;
}
else if(stricmp(op, r3_register_keyword) == 0)
{
op_type = OT_REGISTER_R3;
}
else if(is_immediate(op))
{
op_type = OT_IMMEDIATE;
}
else
{
op_type = OT_SYMBOL;
}
return op_type;
}
// 根据 r? 寄存器,得到一个机器码
char get_machine_code_from_r(unsigned long op_type)
{
return (char)(op_type - OT_REGISTER_R0);
}
// 根据立即数得到一个机器码。注意,允许使用负数,所以返回值是带符号的 8 位 char。
char get_machine_code_from_immediate(const char* immediate)
{
char* end;
int start_index = (immediate[0] == '-' ? 1 : 0);
int base = (immediate[start_index] == '0' && (immediate[start_index + 1] == 'x' || immediate[start_index + 1] == 'X')) ? 16 : 10;
return (char)strtol(immediate, &end, base);
}
// 向重定位表中添加一个重定位信息
void add_reallocate(const char* symbol, int line_num, const char* instr_key_word)
{
reallocate_table[reallocate_count].address = machine_code_address;
strcpy(reallocate_table[reallocate_count].symbol_name, symbol);
strcpy(reallocate_table[reallocate_count].instr_key_word, instr_key_word);
reallocate_table[reallocate_count].line_num = line_num;
reallocate_count++;
}
// 判断一个操作数是否是lw或sw指令的第二个操作数类型,立即数表示地址偏移,可正可负
int is_lw_sw_instr_operand(const char* op)
{
int i;
// 最后一个字符必须是后括号
if (op[strlen(op) - 1] != ')')
{
return 0;
}
// 倒数第二个字符必须是0,1,2,3
if (op[strlen(op) - 2] != '0'
&& op[strlen(op) - 2] != '1'
&& op[strlen(op) - 2] != '2'
&& op[strlen(op) - 2] != '3')
{
return 0;
}
// 倒数第三个字符必须是r
if (op[strlen(op) - 3] != 'r')
{
return 0;
}
// 倒数第四个字符必须是$
if (op[strlen(op) - 4] != '$')
{
return 0;
}
// 倒数第五个字符必须是'('
if (op[strlen(op) - 5] != '(')
{
return 0;
}
// 第2个到倒数第6个字符都必须是数字
// 第一个字符可以为‘-’,表示负数
if (op[0] == '-')
{
for(i=1; i<(int)strlen(op)-5; i++)
{
if(!isdigit(op[i]))
{
return 0;
}
}
}
else
{
for(i=0; i<(int)strlen(op)-5; i++)
{
if(!isdigit(op[i]))
{
return 0;
}
}
}
return 1;
}
// 根据 r? 寄存器,得到一个机器码
char get_machine_code_from_operand(const char* operand)
{
if (operand[strlen(operand) - 2] == '0')
{
return (char)0;
}
else if (operand[strlen(operand) - 2] == '1')
{
return (char)1;
}
else if (operand[strlen(operand) - 2] == '2')
{
return (char)2;
}
else if (operand[strlen(operand) - 2] == '3')
{
return (char)3;
}
else
{
return (char)(-1);
}
}
//////////////////////////////////////////////////////////////////////////
// R型指令
//
// or $rd, $rs, $rt
void parse_or(int line_num)
{
char *op1, *op2, *op3;
char rs, rt, rd;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(or_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type >= OT_REGISTER_R0
&& op3_type <= OT_REGISTER_R3)
{
// 15~12共4位操作码都是0
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op2_type);
rs = rs << 2;
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op3_type);
machine_code[machine_code_address] = rs | rt;
machine_code_address++;
// 7~6,2位rd寄存器编码
rd = get_machine_code_from_r(op1_type);
rd = rd << 6;
// 2~0,3位运算方式编码
machine_code[machine_code_address] = rd;
machine_code_address++;
}
else
{
error_msg_wrong_op(or_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// and $rd, $rs, $rt
void parse_and(int line_num)
{
char *op1, *op2, *op3;
char rs, rt, rd;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(and_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type >= OT_REGISTER_R0
&& op3_type <= OT_REGISTER_R3)
{
// 15~12共4位操作码都是0
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op2_type);
rs = rs << 2;
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op3_type);
machine_code[machine_code_address] = rs | rt;
machine_code_address++;
// 7~6,2位rd寄存器编码
rd = get_machine_code_from_r(op1_type);
rd = rd << 6;
// 2~0,3位运算方式编码
machine_code[machine_code_address] = rd | 0x01;
machine_code_address++;
}
else
{
error_msg_wrong_op(and_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// add $rd, $rs, $rt
void parse_add(int line_num)
{
char *op1, *op2, *op3;
char rs, rt, rd;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(add_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type >= OT_REGISTER_R0
&& op3_type <= OT_REGISTER_R3)
{
// 15~12共4位操作码都是0
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op2_type);
rs = rs << 2;
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op3_type);
machine_code[machine_code_address] = rs | rt;
machine_code_address++;
// 7~6,2位rd寄存器编码
rd = get_machine_code_from_r(op1_type);
rd = rd << 6;
// 2~0,3位运算方式编码
machine_code[machine_code_address] = rd | 0x02;
machine_code_address++;
}
else
{
error_msg_wrong_op(add_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// sub $rd, $rs, $rt
void parse_sub(int line_num)
{
char *op1, *op2, *op3;
char rs, rt, rd;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(sub_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type >= OT_REGISTER_R0
&& op3_type <= OT_REGISTER_R3)
{
// 15~12共4位操作码都是0
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op2_type);
rs = rs << 2;
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op3_type);
machine_code[machine_code_address] = rs | rt;
machine_code_address++;
// 7~6,2位rd寄存器编码
rd = get_machine_code_from_r(op1_type);
rd = rd << 6;
// 2~0,3位运算方式编码
machine_code[machine_code_address] = rd | 0x03;
machine_code_address++;
}
else
{
error_msg_wrong_op(sub_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// sllv $rd, $rs, $rt
void parse_sllv(int line_num)
{
char *op1, *op2, *op3;
char rs, rt, rd;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(sllv_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type >= OT_REGISTER_R0
&& op3_type <= OT_REGISTER_R3)
{
// 15~12共4位操作码都是0
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op2_type);
rs = rs << 2;
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op3_type);
machine_code[machine_code_address] = rs | rt;
machine_code_address++;
// 7~6,2位rd寄存器编码
rd = get_machine_code_from_r(op1_type);
rd = rd << 6;
// 2~0,3位运算方式编码
machine_code[machine_code_address] = rd | 0x04;
machine_code_address++;
}
else
{
error_msg_wrong_op(sllv_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// srlv $rd, $rs, $rt
void parse_srlv(int line_num)
{
char *op1, *op2, *op3;
char rs, rt, rd;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(srlv_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type >= OT_REGISTER_R0
&& op3_type <= OT_REGISTER_R3)
{
// 15~12共4位操作码都是0
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op2_type);
rs = rs << 2;
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op3_type);
machine_code[machine_code_address] = rs | rt;
machine_code_address++;
// 7~6,2位rd寄存器编码
rd = get_machine_code_from_r(op1_type);
rd = rd << 6;
// 2~0,3位运算方式编码
machine_code[machine_code_address] = rd | 0x05;
machine_code_address++;
}
else
{
error_msg_wrong_op(srlv_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// srav $rd, $rs, $rt
void parse_srav(int line_num)
{
char *op1, *op2, *op3;
char rs, rt, rd;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(srav_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type >= OT_REGISTER_R0
&& op3_type <= OT_REGISTER_R3)
{
// 15~12共4位操作码都是0
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op2_type);
rs = rs << 2;
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op3_type);
machine_code[machine_code_address] = rs | rt;
machine_code_address++;
// 7~6,2位rd寄存器编码
rd = get_machine_code_from_r(op1_type);
rd = rd << 6;
// 2~0,3位运算方式编码
machine_code[machine_code_address] = rd | 0x06;
machine_code_address++;
}
else
{
error_msg_wrong_op(srav_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// slt $rd, $rs, $rt
void parse_slt(int line_num)
{
char *op1, *op2, *op3;
char rs, rt, rd;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(slt_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type >= OT_REGISTER_R0
&& op3_type <= OT_REGISTER_R3)
{
// 15~12共4位操作码都是0
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op2_type);
rs = rs << 2;
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op3_type);
machine_code[machine_code_address] = rs | rt;
machine_code_address++;
// 7~6,2位rd寄存器编码
rd = get_machine_code_from_r(op1_type);
rd = rd << 6;
// 2~0,3位运算方式编码
machine_code[machine_code_address] = rd | 0x07;
machine_code_address++;
}
else
{
error_msg_wrong_op(slt_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// xor $rd, $rs, $rt
void parse_xor(int line_num)
{
char *op1, *op2, *op3;
char rs, rt, rd;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(xor_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type >= OT_REGISTER_R0
&& op3_type <= OT_REGISTER_R3)
{
// 15~12共4位操作码都是0
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op2_type);
rs = rs << 2;
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op3_type);
machine_code[machine_code_address] = rs | rt;
machine_code_address++;
// 7~6,2位rd寄存器编码
rd = get_machine_code_from_r(op1_type);
rd = rd << 6;
// 3~0,4位运算方式编码
machine_code[machine_code_address] = rd | 0x08;
machine_code_address++;
}
else
{
error_msg_wrong_op(xor_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// nor $rd, $rs, $rt
void parse_nor(int line_num)
{
char *op1, *op2, *op3;
char rs, rt, rd;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(nor_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type >= OT_REGISTER_R0
&& op3_type <= OT_REGISTER_R3)
{
// 15~12共4位操作码都是0
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op2_type);
rs = rs << 2;
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op3_type);
machine_code[machine_code_address] = rs | rt;
machine_code_address++;
// 7~6,2位rd寄存器编码
rd = get_machine_code_from_r(op1_type);
rd = rd << 6;
// 3~0,4位运算方式编码
machine_code[machine_code_address] = rd | 0x09;
machine_code_address++;
}
else
{
error_msg_wrong_op(nor_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// jr $rs
void parse_jr(int line_num)
{
char *op;
char rs;
unsigned long op_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op = strtok(NULL, delimit_char_comma);
if(NULL == op)
{
error_msg_miss_op(jr_instruction_keyword, line_num);
}
op_type = get_operand_type(op);
if(op_type >= OT_REGISTER_R0 && op_type <= OT_REGISTER_R3 )
{
// 15~12共4位操作码表示十进制数1
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op_type);
rs = rs << 2;
machine_code[machine_code_address] = 0x10 | rs;
machine_code_address++;
// 低8位
machine_code[machine_code_address] = 0x00;
machine_code_address++;
}
else
{
error_msg_wrong_op(jr_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// jalr $rs
void parse_jalr(int line_num)
{
char *op;
char rs;
unsigned long op_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op = strtok(NULL, delimit_char_comma);
if(NULL == op)
{
error_msg_miss_op(jalr_instruction_keyword, line_num);
}
op_type = get_operand_type(op);
if(op_type >= OT_REGISTER_R0 && op_type <= OT_REGISTER_R3 )
{
// 15~12共4位操作码表示十进制数2
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op_type);
rs = rs << 2;
machine_code[machine_code_address] = 0x20 | rs;
machine_code_address++;
// 低8位
machine_code[machine_code_address] = 0x00;
machine_code_address++;
}
else
{
error_msg_wrong_op(jalr_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// sll $rd, $rt, shamt
void parse_sll(int line_num)
{
char *op1, *op2, *op3;
char rd, rt, shamt;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(sll_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type == OT_IMMEDIATE)
{
// 15~12共4位操作码表示十进制12
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op2_type);
machine_code[machine_code_address] = 0xC0 | rt;
machine_code_address++;
// 7~6,2位rd寄存器编码
rd = get_machine_code_from_r(op1_type);
rd = rd << 6;
// 5~4,2位编码移位数目
shamt = get_machine_code_from_immediate(op3);
// 3~0,4位运算方式编码
machine_code[machine_code_address] = rd | shamt | 0x04;
machine_code_address++;
}
else
{
error_msg_wrong_op(sll_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// srl $rd, $rt, shamt
void parse_srl(int line_num)
{
char *op1, *op2, *op3;
char rd, rt, shamt;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(srl_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type == OT_IMMEDIATE)
{
// 15~12共4位操作码表示十进制13
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op2_type);
machine_code[machine_code_address] = 0xD0 | rt;
machine_code_address++;
// 7~6,2位rd寄存器编码
rd = get_machine_code_from_r(op1_type);
rd = rd << 6;
// 5~4,2位编码移位数目
shamt = get_machine_code_from_immediate(op3);
// 3~0,4位运算方式编码
machine_code[machine_code_address] = rd | shamt | 0x05;
machine_code_address++;
}
else
{
error_msg_wrong_op(srl_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
//////////////////////////////////////////////////////////////////////////
// I型指令
//
// ori $rt, $rs, imm
void parse_ori(int line_num)
{
char *op1, *op2, *op3;
char rs, rt;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(ori_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type == OT_IMMEDIATE)
{
// 15~12共4位操作码
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op2_type);
rs = rs << 2;
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op1_type);
machine_code[machine_code_address] = 0x30 | rs | rt;
machine_code_address++;
// 7~0,8位立即数
machine_code[machine_code_address] = get_machine_code_from_immediate(op3);
machine_code_address++;
}
else
{
error_msg_wrong_op(ori_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// andi $rt, $rs, imm
void parse_andi(int line_num)
{
char *op1, *op2, *op3;
char rs, rt;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(andi_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type == OT_IMMEDIATE)
{
// 15~12共4位操作码
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op2_type);
rs = rs << 2;
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op1_type);
machine_code[machine_code_address] = 0x40 | rs | rt;
machine_code_address++;
// 7~0,8位立即数
machine_code[machine_code_address] = get_machine_code_from_immediate(op3);
machine_code_address++;
}
else
{
error_msg_wrong_op(andi_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// addi $rt, $rs, imm
void parse_addi(int line_num)
{
char *op1, *op2, *op3;
char rs, rt;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(addi_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type == OT_IMMEDIATE)
{
// 15~12共4位操作码
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op2_type);
rs = rs << 2;
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op1_type);
machine_code[machine_code_address] = 0x50 | rs | rt;
machine_code_address++;
// 7~0,8位立即数
machine_code[machine_code_address] = get_machine_code_from_immediate(op3);
machine_code_address++;
}
else
{
error_msg_wrong_op(addi_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// lw $rt, offset($rs)
void parse_lw(int line_num)
{
int i;
char *op1, *op2;
char immediate[8];
char rs, rt;
unsigned long op1_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2)
{
error_msg_miss_op(lw_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& is_lw_sw_instr_operand(op2))
{
rs = get_machine_code_from_operand(op2);
rs = rs << 2;
// 解析第一个到倒数第六个字符得到一个十进制数
for(i=0; i<(int)strlen(op2)-5; i++)
{
immediate[i] = op2[i];
}
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op1_type);
machine_code[machine_code_address] = 0x60 | rs | rt;
machine_code_address++;
// 7~0,8位立即数
machine_code[machine_code_address] = get_machine_code_from_immediate(immediate);
machine_code_address++;
}
else
{
error_msg_wrong_op(lw_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// sw $rt, offset($rs)
void parse_sw(int line_num)
{
int i;
char *op1, *op2;
char immediate[8];
char rs, rt;
unsigned long op1_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2)
{
error_msg_miss_op(sw_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& is_lw_sw_instr_operand(op2))
{
rs = get_machine_code_from_operand(op2);
rs = rs << 2;
// 解析第一个到倒数第六个字符得到一个十进制数
for(i=0; i<(int)strlen(op2)-5; i++)
{
immediate[i] = op2[i];
}
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op1_type);
machine_code[machine_code_address] = 0x70 | rs | rt;
machine_code_address++;
// 7~0,8位立即数
machine_code[machine_code_address] = get_machine_code_from_immediate(immediate);
machine_code_address++;
}
else
{
error_msg_wrong_op(sw_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// beq $rs, $rt, label
void parse_beq(int line_num)
{
char *op1, *op2, *op3;
char rs, rt;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(beq_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type == OT_SYMBOL)
{
// 15~12共4位操作码
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op1_type);
rs = rs << 2;
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op2_type);
machine_code[machine_code_address] = 0x80 | rs | rt;
machine_code_address++;
// 7~0,有符号偏移量offset
add_reallocate(op3, line_num, beq_instruction_keyword);
machine_code_address++;
}
else
{
error_msg_wrong_op(beq_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// bne $rs, $rt, label
void parse_bne(int line_num)
{
char *op1, *op2, *op3;
char rs, rt;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(bne_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type == OT_SYMBOL)
{
// 15~12共4位操作码
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op1_type);
rs = rs << 2;
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op2_type);
machine_code[machine_code_address] = 0x90 | rs | rt;
machine_code_address++;
// 7~0,有符号偏移量offset
add_reallocate(op3, line_num, bne_instruction_keyword);
machine_code_address++;
}
else
{
error_msg_wrong_op(bne_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// bgt $rs, $rt, label
void parse_bgt(int line_num)
{
char *op1, *op2, *op3;
char rs, rt;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(bgt_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type == OT_SYMBOL)
{
// 15~12共4位操作码
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op1_type);
rs = rs << 2;
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op2_type);
machine_code[machine_code_address] = 0xA0 | rs | rt;
machine_code_address++;
// 7~0,有符号偏移量offset
add_reallocate(op3, line_num, bgt_instruction_keyword);
machine_code_address++;
}
else
{
error_msg_wrong_op(bgt_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// bltz $rs, label
void parse_bltz(int line_num)
{
char *op1, *op2;
char rs;
unsigned long op1_type, op2_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
if(NULL == op1 || NULL == op2)
{
error_msg_miss_op(bltz_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type == OT_SYMBOL)
{
// 15~12共4位操作码表示十进制数14
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op1_type);
rs = rs << 2;
machine_code[machine_code_address] = 0xE0 | rs;
machine_code_address++;
// 7~0,有符号偏移量offset
add_reallocate(op2, line_num, bltz_instruction_keyword);
machine_code_address++;
}
else
{
error_msg_wrong_op(bltz_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
//////////////////////////////////////////////////////////////////////////
// J型指令
//
// jump label
void parse_jump(int line_num)
{
char *op;
unsigned long op_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op = strtok(NULL, delimit_char);
if(NULL == op)
{
error_msg_miss_op(jump_instruction_keyword, line_num);
}
op_type = get_operand_type(op);
if(OT_SYMBOL == op_type)
{
// jump label
machine_code[machine_code_address] = 0xB0;
machine_code_address++;
// 重定位
add_reallocate(op, line_num, jump_instruction_keyword);
machine_code_address++;
}
else
{
error_msg_wrong_op(jump_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// jal label
void parse_jal(int line_num)
{
char *op;
unsigned long op_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op = strtok(NULL, delimit_char);
if(NULL == op)
{
error_msg_miss_op(jal_instruction_keyword, line_num);
}
op_type = get_operand_type(op);
if(OT_SYMBOL == op_type)
{
// jal label
machine_code[machine_code_address] = 0xF0;
machine_code_address++;
// 重定位
add_reallocate(op, line_num, jal_instruction_keyword);
machine_code_address++;
}
else
{
error_msg_wrong_op(jal_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
//////////////////////////////////////////////////////////////////////////
// DISP指令
//
// DISP $rs, imm
void parse_disp(int line_num)
{
char *op1, *op2;
char rs;
unsigned long op1_type, op2_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2)
{
error_msg_miss_op(jal_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type == OT_IMMEDIATE)
{
// 15~12共4位操作码
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op1_type);
rs = rs << 2;
machine_code[machine_code_address] = 0x01 | rs;
machine_code_address++;
// DISP指令的立即数字段只有0、1两个取值,用来选择在0号显示器还是1号显示器显示rs中的内容
machine_code[machine_code_address] = get_machine_code_from_immediate(op2);
machine_code_address++;
}
else
{
error_msg_wrong_op(jal_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
//////////////////////////////////////////////////////////////////////////
// halt指令
//
// halt
void parse_halt(int line_num)
{
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
machine_code[machine_code_address] = 0xC0;
machine_code_address++;
machine_code[machine_code_address] = 0x00;
machine_code_address++;
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
//////////////////////////////////////////////////////////////////////////
//
// 向符号表中添加一个符号
void add_symbol(const char* symbol, int line_num)
{
int i;
// 符号名称不能重复
for(i=0; i<symbol_count; i++)
{
if(stricmp(symbol, symbol_table[i].name) == 0)
{
error_msg_same_symbol(symbol, line_num, symbol_table[i].line_num);
}
}
// 符号数量有限
if(symbol_count == MAX_SYMBOL_COUNT)
{
sprintf(formated_msg, "定义了太多的符号。最多可以定义 %d 个符号。", MAX_SYMBOL_COUNT);
error_msg(formated_msg, line_num);
}
// 添加符号
strcpy(symbol_table[symbol_count].name, symbol);
symbol_table[symbol_count].address = machine_code_address;
symbol_table[symbol_count].line_num = line_num;
symbol_count++;
}
// 解析符号
void parse_symbol(const char* symbol_with_colon, int line_num)
{
char symbol[MAX_SYMBOL_LENGTH];
char* token;
// 删除符号末尾的冒号
strcpy(symbol, symbol_with_colon);
symbol[strlen(symbol) - 1] = 0;
if(AS_TEXT == assembler_state)
{
// 代码段中的标号作为符号。记录到符号表中,不产生机器码。
add_symbol(symbol, line_num);
// 标号必须单独占一行,否则报错
if (strtok(NULL, delimit_char) != NULL)
{
error_msg("标号必须单独占用一行。", line_num);
}
}
else if(AS_DATA == assembler_state)
{
// 数据段中的变量作为符号。一个变量可以包含多个字节数据。记录到符号表中,产生机器码。
add_symbol(symbol, line_num);
while((token = strtok(NULL, delimit_char)) != NULL)
{
if(!is_immediate(token))
{
error_msg_wrong_data(token, line_num);
}
machine_code[machine_code_address] = get_machine_code_from_immediate(token);
machine_code_address++;
symbol_table[symbol_count - 1].machine_code_count++;
}
}
else
{
warning_msg_invalid_line(line_num);
}
}
// 解析代码段开始标志
void parse_code_section_keyword(int line_num)
{
// 代码段标志
if(AS_DATA == assembler_state)
{
error_msg("代码段不能定义在数据段的后面。", line_num);
}
else if(AS_TEXT == assembler_state)
{
error_msg("定义了重复的代码段。", line_num);
}
assembler_state = AS_TEXT;
}
// 解析数据段开始标志
void parse_data_section_keyword(int line_num)
{
// 数据段标志
if(AS_DATA == assembler_state)
{
error_msg("定义了重复的数据段。", line_num);
}
else if(AS_BEGIN == assembler_state)
{
error_msg("数据段不能定义在代码段的前面。", line_num);
}
assembler_state = AS_DATA;
}
// 定义关键字和解析函数的对应关系
typedef void (*PARSE_FUNCTION)(int line_num);
struct KEYWORD_FUNCTION_ENTRY
{
const char** keyword;
PARSE_FUNCTION parse_function;
};
//
// 必须将关键字及其解析函数放在下面的表中。从而可以使用“表驱动”的编程模式。
//
struct KEYWORD_FUNCTION_ENTRY keyword_function_table[] =
{
{ NULL, NULL } // 未用
,{ &code_section_keyword, parse_code_section_keyword }
,{ &data_section_keyword, parse_data_section_keyword }
,{ &or_instruction_keyword, parse_or }
,{ &and_instruction_keyword, parse_and }
,{ &add_instruction_keyword, parse_add }
,{ &sub_instruction_keyword, parse_sub }
,{ &sllv_instruction_keyword, parse_sllv }
,{ &srlv_instruction_keyword, parse_srlv }
,{ &srav_instruction_keyword, parse_srav }
,{ &slt_instruction_keyword, parse_slt }
,{ &jr_instruction_keyword, parse_jr }
,{ &jalr_instruction_keyword, parse_jalr }
,{ &xor_instruction_keyword, parse_xor }
,{ &nor_instruction_keyword, parse_nor }
,{ &srl_instruction_keyword, parse_srl }
,{ &sra_instruction_keyword, NULL }
,{ &sll_instruction_keyword, parse_sll }
,{ &ori_instruction_keyword, parse_ori }
,{ &andi_instruction_keyword, parse_andi }
,{ &addi_instruction_keyword, parse_addi }
,{ &lw_instruction_keyword, parse_lw }
,{ &sw_instruction_keyword, parse_sw }
,{ &beq_instruction_keyword, parse_beq }
,{ &bne_instruction_keyword, parse_bne }
,{ &bgt_instruction_keyword, parse_bgt }
,{ &bltz_instruction_keyword, parse_bltz }
,{ &bgez_instruction_keyword, NULL }
,{ &jump_instruction_keyword, parse_jump }
,{ &jal_instruction_keyword, parse_jal }
,{ &r0_register_keyword, NULL }
,{ &r1_register_keyword, NULL }
,{ &r2_register_keyword, NULL }
,{ &r3_register_keyword, NULL }
,{ &ra_register_keyword, NULL }
,{ &t0_register_keyword, NULL }
};
// 判断是否是一个关键字。返回0,不是关键字;返回非0,是关键字,并且返回值就是关键字在表中的下标。
int match_keyword(const char* token)
{
int i;
for(i=1; i<sizeof(keyword_function_table)/sizeof(keyword_function_table[0]); i++)
{
if(stricmp(token, *keyword_function_table[i].keyword) == 0)
{
return i;
}
}
return 0;
}
// 判断是否是一个符号
int is_symbol(const char* token, int line_num)
{
int i;
char symbol_name[MAX_SYMBOL_LENGTH];
// 最后一个字符必须是冒号
if(token[strlen(token) - 1] != ':')
{
return 0;
}
// 第一个字符必须是字母或者下划线
if(token[0] != '_' && !isalpha(token[0]))
{
return 0;
}
// 后面的字符必须是字母、数字、下划线
for(i=0; i<(int)strlen(token)-2; i++)
{
if(token[i] != '_' && !isalpha(token[i]) && !isdigit(token[i]))
{
return 0;
}
}
// 不能与关键字相同
strcpy(symbol_name, token);
symbol_name[strlen(symbol_name) - 1] = 0;
if(match_keyword(symbol_name) != 0)
{
error_msg_keyword_symbol(symbol_name, line_num);
}
return 1;
}
// 输出版本信息
void version_msg()
{
printf(
"Engintime 16位 MIPS 指令汇编器 [版本 2.0]\n"
"版权所有 (c) 2008-2018 北京英真时代科技有限公司。保留所有权利。\n"
);
}
// 输出帮助信息
void help_msg()
{
printf(
"Engintime 16位 MIPS 指令汇编器。\n\n"
"用法:\n\n"
" dmasm.exe assembly_file_name [options]\n\n"
"选项:\n\n"
" -g debug_file_name\t指定生成的调试信息文件路径。\n"
" -h\t\t\t打印此帮助信息。\n"
" -l list_file_name\t指定生成的列表文件路径。\n"
" -o target_file_name\t指定生成的目标文件路径。若未指定,默认生成 a.obj 文件。\n"
" -v\t\t\t打印版本信息。\n"
);
printf("\n");
version_msg();
exit(1);
}
void argument_error_msg()
{
printf("命令行参数错误。\n\n");
help_msg();
}
// 处理器用户输入的命令行参数
void process_argument(int argc, char* argv[])
{
int i;
// argv[0] 是 "easm.exe",所以可以忽略。
for(i=1; i<argc; i++)
{
if(strcmp(argv[i], "-v") == 0)
{
version_msg();
exit(1);
}
else if(strcmp(argv[i], "-h") == 0)
{
help_msg();
}
else if(strcmp(argv[i], "-o") == 0)
{
if(i + 1 < argc)
{
i++;
target_file_name = argv[i];
}
else
{
argument_error_msg();
}
}
else if(strcmp(argv[i], "-l") == 0)
{
if(i + 1 < argc)
{
i++;
list_file_name = argv[i];
}
else
{
argument_error_msg();
}
}
else if(strcmp(argv[i], "-g") == 0)
{
if(i + 1 < argc)
{
i++;
dbg_file_name = argv[i];
}
else
{
argument_error_msg();
}
}
else if(NULL == assembly_file_name && argv[i][0] != '-')
{
// 输入的汇编源代码文件路径。
assembly_file_name = argv[i];
}
else
{
argument_error_msg();
}
}
//
// 如果命令行参数中没有指定输入的汇编文件,就打印错误信息后退出
//
if(NULL == assembly_file_name)
{
printf("命令行参数错误。没有指定汇编源代码文件的路径。\n");
help_msg();
}
}
// 将一个字符串写入二进制文件中。先将字符串长度写入文件,然后将字符串中的
// 每个字符依次写入文件,不包括字符串末尾的 0.
void write_string_to_binary_file(const char* str, FILE* fp)
{
int str_length;
if(str != NULL)
{
str_length = strlen(str);
fwrite(&str_length, 1, sizeof(str_length), fp);
fwrite(str, 1, str_length, fp);
}
else
{
str_length = 0;
fwrite(&str_length, 1, sizeof(str_length), fp);
}
}
int main(int argc, char* argv[])
{
FILE* fp;
char* token;
char line[MAX_LINE_LENGTH];
int i, j;
int line_num = 1; // 行号从第一行开始计数
int keyword_index;
unsigned long base_PC, offset_PC;
//
// 处理命令行参数
//
process_argument(argc, argv);
//
// 打开汇编源代码文件
//
fp = fopen(assembly_file_name, "r");
if(NULL == fp)
{
printf("无法打开源代码文件 %s\n", assembly_file_name);
return 1;
}
//////////////////////////////////////////////////////////////////////////
// 第一遍扫描
version_msg();
printf("\n正在汇编 %s...\n", assembly_file_name);
//
// 一次读取一行文本,同时记录所有的代码行信息
//
while(fgets(line, sizeof(line), fp) != NULL)
{
//
// 将一行代码的信息记录到代码行数据库中
//
strcpy(line_database[line_count].line_string, line);
line_database[line_count].line_num = line_num;
line_database[line_count].address = machine_code_address;
//
// 将代码行中的注释剥离
//
line[strcspn(line, ";")] = 0;
//
// 开始解析代码行
//
token = strtok(line, delimit_char);
if(NULL == token)
{
// 如果是空行,不做任何处理
}
else if((keyword_index = match_keyword(token)) != 0
&& keyword_function_table[keyword_index].parse_function != NULL)
{
// 根据关键字进行相应的处理
keyword_function_table[keyword_index].parse_function(line_num);
}
else if(is_symbol(token, line_num))
{
// 处理符号
parse_symbol(token, line_num);
}
else
{
error_msg("无法识别的代码行。", line_num);
}
//
// 补充代码行数据库信息
//
line_database[line_count].machine_code_count = machine_code_address - machine_code_old_address;
machine_code_old_address = machine_code_address;
//
// 记录产生了机器码的代码行数量
//
if(line_database[line_count].machine_code_count != 0)
{
machine_code_line_count++;
}
//
// 增加行号
//
line_count++;
line_num++;
if(line_count == MAX_LINE_COUNT)
{
sprintf(formated_msg, "汇编文件中的代码行过多,最多只能有 %d 行代码。", MAX_LINE_COUNT);
error_msg(formated_msg, -1);
}
}
fclose(fp);
//////////////////////////////////////////////////////////////////////////
// 第二遍扫描
//
// 根据符号表更新重定位表
//
for(i=0; i<reallocate_count; i++)
{
for(j=0; j<symbol_count; j++)
{
if(stricmp(symbol_table[j].name, reallocate_table[i].symbol_name) == 0)
{
if (stricmp(beq_instruction_keyword, reallocate_table[i].instr_key_word) == 0
|| stricmp(bne_instruction_keyword, reallocate_table[i].instr_key_word) == 0
|| stricmp(bgt_instruction_keyword, reallocate_table[i].instr_key_word) == 0
|| stricmp(bltz_instruction_keyword, reallocate_table[i].instr_key_word) == 0)
{
// 条件转移指令
// 因为标号是指令的第二个字节编码,所以标号地址首先减1,指向该条指令。
// 然后加2,指向下一条指令。因为偏移是相对于PC+2后的地址计算的
//
machine_code[reallocate_table[i].address] = (BYTE)((symbol_table[j].address - (reallocate_table[i].address - 1 + 2))/2);
symbol_table[j].ref_count++;
}
else if (stricmp(jump_instruction_keyword, reallocate_table[i].instr_key_word) == 0
|| stricmp(jal_instruction_keyword, reallocate_table[i].instr_key_word) == 0)
{
//
// 无条件转移指令
//
// 获取跳转指令地址高4位,低12位置为0,作为无条件跳转指令的相对偏移基址
base_PC = reallocate_table[i].address & 0xf000;
// 获取标号地址相对于基地址的偏移,并取出其中的低12位做为有效位
offset_PC = (symbol_table[j].address - base_PC) & 0x0fff;
// 更新跳转指令编码
machine_code[reallocate_table[i].address - 1] = (BYTE)(machine_code[reallocate_table[i].address - 1] | offset_PC >> 8);
machine_code[reallocate_table[i].address] = (BYTE)(offset_PC/2);
symbol_table[j].ref_count++;
}
break;
}
}
if(j == symbol_count)
{
// 重定位表中使用的符号在符号表中未定义,报错
sprintf(formated_msg, "使用了未定义的符号 %s。", reallocate_table[i].symbol_name);
error_msg(formated_msg, reallocate_table[i].line_num);
}
}
//
// 如果存在未引用的符号,输出警告信息。
//
for(i=0; i<symbol_count; i++)
{
if(0 == symbol_table[i].ref_count)
{
warning_msg_unref_symbol(symbol_table[i].name, symbol_table[i].line_num);
}
}
//////////////////////////////////////////////////////////////////////////
// 产生各种输出文件
//
// 将机器码写入二进制文件
//
if(NULL == target_file_name)
{
target_file_name = "a.obj";
}
fp = fopen(target_file_name, "wb");
if(NULL == fp)
{
printf("无法打开输出文件 %s\n", target_file_name);
return 1;
}
fwrite(machine_code, 1, machine_code_address, fp);
fclose(fp);
printf("\n生成目标文件 %s\n", target_file_name);
//
// 将代码行数据库中的信息写入列表文件
//
if(list_file_name != NULL)
{
fp = fopen(list_file_name, "w");
if(NULL == fp)
{
printf("无法打开列表文件 %s\n", list_file_name);
return 1;
}
for(i=0; i<line_count; i++)
{
// 行号
fprintf(fp, "%04d ", line_database[i].line_num);
// 地址和机器码
if(line_database[i].machine_code_count > 0)
{
fprintf(fp, "%02X ", line_database[i].address);
for(j=0; j<line_database[i].machine_code_count; j++)
{
// 确保每行最多写两个字节的机器码
if(j != 0 && j % 2 == 0)
{
if(2 == j)
{
fprintf(fp, " ");
}
else
{
fprintf(fp, "\n ");
}
}
fprintf(fp, "%02X ", machine_code[line_database[i].address + j]);
if(1 == j)
{
fprintf(fp, " ");
fprintf(fp, line_database[i].line_string);
}
}
if(1 == j)
{
fprintf(fp, " ");
fprintf(fp, line_database[i].line_string);
}
else if(j > 2)
{
fprintf(fp, "\n");
}
}
else
{
fprintf(fp, " ");
// 源代码
fprintf(fp, line_database[i].line_string);
}
}
fclose(fp);
printf("生成列表文件 %s\n", list_file_name);
}
//
// 将代码行数据库中的信息写入二进制的调试信息文件。
//
// 调试信息的基本格式为:
// 魔数(4字节),固定不可改变
// 版本号(4字节),固定不可改变
// 源代码文件绝对路径字符串长度(4字节)
// 源代码文件绝对路径字符串(不包括字符串结尾的0)
// 列表文件绝对路径字符串长度(4字节)
// 列表文件绝对路径字符串(不包括字符串结尾的0)
//
// 代码行数据库中元素的数量(4字节)
// 代码行数据库中的所有元素
//
// 符号表元素的数量(4字节)
// 符号表中的所有元素
//
if(dbg_file_name != NULL)
{
fp = fopen(dbg_file_name, "wb");
if(NULL == fp)
{
printf("无法打开调试信息文件 %s\n", dbg_file_name);
return 1;
}
// 魔数
fwrite(&dbg_file_magic, 1, sizeof(dbg_file_magic), fp);
// 版本号
fwrite(&dbg_file_version, 1, sizeof(dbg_file_version), fp);
// 源代码文件路径
write_string_to_binary_file(assembly_file_name, fp);
// 列表文件路径
write_string_to_binary_file(list_file_name, fp);
// 代码行数据库中的所有元素
fwrite(&machine_code_line_count, 1, sizeof(machine_code_line_count), fp);
for(i=0; i<line_count; i++)
{
// 跳过没有产生机器码的代码行
if(0 == line_database[i].machine_code_count)
{
continue;
}
fwrite(&line_database[i].line_num, 1, sizeof(unsigned long), fp);
fwrite(&line_database[i].address, 1, sizeof(unsigned long), fp);
fwrite(&line_database[i].machine_code_count, 1, sizeof(int), fp);
fwrite(&line_database[i].flag, 1, sizeof(unsigned long), fp);
}
// 符号表中的所有元素
fwrite(&symbol_count, 1, sizeof(symbol_count), fp);
for(i=0; i<symbol_count; i++)
{
write_string_to_binary_file(symbol_table[i].name, fp);
fwrite(&symbol_table[i].address, 1, sizeof(unsigned long), fp);
fwrite(&symbol_table[i].machine_code_count, 1, sizeof(int), fp);
fwrite(&symbol_table[i].line_num, 1, sizeof(int), fp);
}
fclose(fp);
printf("生成调试信息文件 %s\n", dbg_file_name);
}
return 0;
}
添加文件
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<svg height="2210" version="1.1" width="2925" xmlns="http://www.w3.org/2000/svg">
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="45" font-weight="400" text-anchor="start" x="351" y="1462">PC[15..0]</text>
<polyline fill="none" points="751 742, 901 742" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="751 772, 901 772" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="751 802, 901 802" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="951" x2="901" y1="702" y2="702"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1041" x2="1101" y1="702" y2="702"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="961 652, 961 752, 1031 702, 961 652" stroke="#000000" stroke-width="5"/>
<circle cx="1035" cy="702" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="955" cy="701" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="982" y="651">U2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="949" y="798">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="951" x2="901" y1="742" y2="742"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1041" x2="1101" y1="742" y2="742"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="961 692, 961 792, 1031 742, 961 692" stroke="#000000" stroke-width="5"/>
<circle cx="1035" cy="742" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="955" cy="741" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="982" y="691">U3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="949" y="838">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="951" x2="901" y1="772" y2="772"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1041" x2="1101" y1="772" y2="772"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="961 722, 961 822, 1031 772, 961 722" stroke="#000000" stroke-width="5"/>
<circle cx="1035" cy="772" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="955" cy="771" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="982" y="721">U4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="949" y="868">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="951" x2="901" y1="802" y2="802"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1041" x2="1101" y1="802" y2="802"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="961 752, 961 852, 1031 802, 961 752" stroke="#000000" stroke-width="5"/>
<circle cx="1035" cy="802" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="955" cy="801" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="982" y="751">U5</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="949" y="898">NNOT</text>
<rect fill="#80ff80" height="1100" stroke="#800000" stroke-width="1" width="500" x="1751" y="912"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Times New Roman" font-size="105" font-weight="700" text-anchor="start" x="1751" y="822">PCSRC</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1751" y="872">3mux1.dlsche</text>
<polygon fill="#ffff80" points="1751 1162, 1776 1137, 1826 1137, 1851 1162, 1826 1187, 1776 1187, 1751 1162" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1863" y="1162">S1</text>
<polygon fill="#ffff80" points="1751 1062, 1776 1037, 1826 1037, 1851 1062, 1826 1087, 1776 1087, 1751 1062" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1863" y="1062">S0</text>
<polygon fill="#ffff80" points="1751 1362, 1776 1337, 1826 1337, 1851 1362, 1826 1387, 1776 1387, 1751 1362" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1863" y="1362">C[15..0]</text>
<polygon fill="#ffff80" points="1751 1462, 1776 1437, 1826 1437, 1851 1462, 1826 1487, 1776 1487, 1751 1462" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1863" y="1462">A[15..0]</text>
<polygon fill="#ffff80" points="1751 1862, 1776 1837, 1826 1837, 1851 1862, 1826 1887, 1776 1887, 1751 1862" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1863" y="1862">B[15..0]</text>
<polygon fill="#ffff80" points="2251 1562, 2226 1537, 2176 1537, 2151 1562, 2176 1587, 2226 1587, 2251 1562" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2034" y="1562">F[15..0]</text>
<polyline fill="none" points="851 1462, 651 1462, 201 1462" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="951" x2="901" y1="832" y2="832"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1041" x2="1101" y1="832" y2="832"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="961 782, 961 882, 1031 832, 961 782" stroke="#000000" stroke-width="5"/>
<circle cx="1035" cy="832" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="955" cy="831" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="982" y="781">U6</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="949" y="928">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="951" x2="901" y1="862" y2="862"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1041" x2="1101" y1="862" y2="862"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="961 812, 961 912, 1031 862, 961 812" stroke="#000000" stroke-width="5"/>
<circle cx="1035" cy="862" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="955" cy="861" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="982" y="811">U7</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="949" y="958">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="951" x2="901" y1="892" y2="892"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1041" x2="1101" y1="892" y2="892"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="961 842, 961 942, 1031 892, 961 842" stroke="#000000" stroke-width="5"/>
<circle cx="1035" cy="892" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="955" cy="891" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="982" y="841">U8</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="949" y="988">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="951" x2="901" y1="922" y2="922"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1041" x2="1101" y1="922" y2="922"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="961 872, 961 972, 1031 922, 961 872" stroke="#000000" stroke-width="5"/>
<circle cx="1035" cy="922" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="955" cy="921" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="982" y="871">U9</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="949" y="1018">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="951" x2="901" y1="952" y2="952"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1041" x2="1101" y1="952" y2="952"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="961 902, 961 1002, 1031 952, 961 902" stroke="#000000" stroke-width="5"/>
<circle cx="1035" cy="952" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="955" cy="951" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="982" y="901">U10</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="949" y="1048">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="951" x2="901" y1="982" y2="982"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1041" x2="1101" y1="982" y2="982"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="961 932, 961 1032, 1031 982, 961 932" stroke="#000000" stroke-width="5"/>
<circle cx="1035" cy="982" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="955" cy="981" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="982" y="931">U11</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="949" y="1078">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="951" x2="901" y1="1012" y2="1012"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1041" x2="1101" y1="1012" y2="1012"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="961 962, 961 1062, 1031 1012, 961 962" stroke="#000000" stroke-width="5"/>
<circle cx="1035" cy="1012" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="955" cy="1011" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="982" y="961">U12</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="949" y="1108">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="951" x2="901" y1="1042" y2="1042"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1041" x2="1101" y1="1042" y2="1042"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="961 992, 961 1092, 1031 1042, 961 992" stroke="#000000" stroke-width="5"/>
<circle cx="1035" cy="1042" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="955" cy="1041" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="982" y="991">U13</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="949" y="1138">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="951" x2="901" y1="1072" y2="1072"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1041" x2="1101" y1="1072" y2="1072"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="961 1022, 961 1122, 1031 1072, 961 1022" stroke="#000000" stroke-width="5"/>
<circle cx="1035" cy="1072" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="955" cy="1071" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="982" y="1021">U14</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="949" y="1168">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="951" x2="901" y1="1102" y2="1102"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1041" x2="1101" y1="1102" y2="1102"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="961 1052, 961 1152, 1031 1102, 961 1052" stroke="#000000" stroke-width="5"/>
<circle cx="1035" cy="1102" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="955" cy="1101" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="982" y="1051">U15</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="949" y="1198">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="951" x2="901" y1="1132" y2="1132"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1041" x2="1101" y1="1132" y2="1132"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="961 1082, 961 1182, 1031 1132, 961 1082" stroke="#000000" stroke-width="5"/>
<circle cx="1035" cy="1132" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="955" cy="1131" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="982" y="1081">U16</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="949" y="1228">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="951" x2="901" y1="1162" y2="1162"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1041" x2="1101" y1="1162" y2="1162"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="961 1112, 961 1212, 1031 1162, 961 1112" stroke="#000000" stroke-width="5"/>
<circle cx="1035" cy="1162" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="955" cy="1161" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="982" y="1111">U17</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="949" y="1258">NNOT</text>
<polyline fill="none" points="901 832, 751 832" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="901 862, 751 862" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="901 892, 751 892" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="901 922, 751 922" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="901 952, 751 952" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="901 982, 751 982" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="901 1012, 751 1012" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="901 1042, 751 1042" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="901 1072, 751 1072" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="901 1102, 751 1102" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="901 1132, 751 1132" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="901 1162, 751 1162" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1101 702, 1291 702" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1101 742, 1291 742" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1101 772, 1291 772" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1101 802, 1291 802" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1101 832, 1291 832" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1101 862, 1291 862" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1101 892, 1291 892" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1101 922, 1291 922" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1101 952, 1291 952" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1101 982, 1291 982" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1101 1012, 1291 1012" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1101 1042, 1291 1042" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1101 1072, 1291 1072" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1101 1102, 1291 1102" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1101 1132, 1291 1132" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1101 1162, 1291 1162" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1291" x2="1341" y1="702" y2="652"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1291" x2="1341" y1="742" y2="692"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1291" x2="1341" y1="772" y2="722"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1291" x2="1341" y1="802" y2="752"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1291" x2="1341" y1="832" y2="782"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1291" x2="1341" y1="862" y2="812"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1291" x2="1341" y1="892" y2="842"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1291" x2="1341" y1="922" y2="872"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1291" x2="1341" y1="952" y2="902"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1291" x2="1341" y1="982" y2="932"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1291" x2="1341" y1="1012" y2="962"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1291" x2="1341" y1="1042" y2="992"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1291" x2="1341" y1="1072" y2="1022"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1291" x2="1341" y1="1102" y2="1052"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1291" x2="1341" y1="1132" y2="1082"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1291" x2="1341" y1="1162" y2="1112"/>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="751" y="1162">PC15</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="751" y="1132">PC14</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="751" y="1102">PC13</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="751" y="1072">Instr11</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="751" y="1042">Instr10</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="751" y="1012">Instr9</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="751" y="982">Instr8</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="751" y="952">Instr7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="751" y="922">Instr6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="751" y="892">Instr5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="751" y="862">Instr4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="751" y="832">Instr3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="751" y="802">Instr2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="751" y="772">Instr1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="751" y="742">Instr0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1111" y="702">PC_jmp0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1111" y="742">PC_jmp1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1111" y="772">PC_jmp2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1111" y="802">PC_jmp3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1111" y="832">PC_jmp4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1111" y="862">PC_jmp5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1111" y="892">PC_jmp6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1111" y="922">PC_jmp7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1111" y="952">PC_jmp8</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1111" y="982">PC_jmp9</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1111" y="1012">PC_jmp10</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1111" y="1042">PC_jmp11</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1111" y="1072">PC_jmp12</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1111" y="1102">PC_jmp13</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1111" y="1132">PC_jmp14</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1111" y="1162">PC_jmp15</text>
<polyline fill="none" points="1251 1462, 1751 1462" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<rect fill="#80ff80" height="400" stroke="#800000" stroke-width="1" width="400" x="851" y="1362"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Times New Roman" font-size="45" font-weight="700" text-anchor="start" x="851" y="1322">PC_NEXT</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="851" y="1362">al_operation.dlsche</text>
<polygon fill="#ffff80" points="1251 1462, 1226 1437, 1176 1437, 1151 1462, 1176 1487, 1226 1487, 1251 1462" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1142" y="1512">F[15..0]</text>
<polygon fill="#ffff80" points="851 1462, 876 1437, 926 1437, 951 1462, 926 1487, 876 1487, 851 1462" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="963" y="1462">A[15..0]</text>
<polygon fill="#ffff80" points="851 1532, 876 1507, 926 1507, 951 1532, 926 1557, 876 1557, 851 1532" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="963" y="1532">B[15..0]</text>
<polygon fill="#ffff80" points="851 1602, 876 1577, 926 1577, 951 1602, 926 1627, 876 1627, 851 1602" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="963" y="1602">ALUControl0</text>
<polygon fill="#ffff80" points="851 1672, 876 1647, 926 1647, 951 1672, 926 1697, 876 1697, 851 1672" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="963" y="1672">ALUControl1</text>
<polygon fill="#ffff80" points="51 1462, 51 1437, 176 1437, 201 1462, 176 1487, 51 1487, 51 1462" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="51" y="1462">PC[15..0]</text>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="701" x2="751" y1="792" y2="742"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="701" x2="751" y1="822" y2="772"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="701" x2="751" y1="852" y2="802"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="701" x2="751" y1="882" y2="832"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="701" x2="751" y1="912" y2="862"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="701" x2="751" y1="942" y2="892"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="701" x2="751" y1="972" y2="922"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="701" x2="751" y1="1002" y2="952"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="701" x2="751" y1="1032" y2="982"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="701" x2="751" y1="1062" y2="1012"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="701" x2="751" y1="1092" y2="1042"/>
<polyline fill="none" points="701 1122, 701 1092, 701 702, 201 702" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polygon fill="#ffff80" points="51 702, 51 677, 176 677, 201 702, 176 727, 51 727, 51 702" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="51" y="702">Instr[15..0]</text>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="701" x2="751" y1="1122" y2="1072"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="701" x2="751" y1="1152" y2="1102"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="701" x2="751" y1="1182" y2="1132"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="701" x2="751" y1="1212" y2="1162"/>
<polygon fill="#ffff80" points="51 1862, 51 1837, 276 1837, 301 1862, 276 1887, 51 1887, 51 1862" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="51" y="1862">PC_branch[15..0]</text>
<polyline fill="none" points="301 1862, 1751 1862" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="1341 652, 1341 1362, 1751 1362" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polygon fill="#ffff80" points="51 362, 51 337, 176 337, 201 362, 176 387, 51 387, 51 362" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="51" y="362">jump</text>
<polygon fill="#ffff80" points="51 262, 51 237, 176 237, 201 262, 176 287, 51 287, 51 262" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="51" y="262">branch</text>
<polyline fill="none" points="2251 1562, 2651 1562" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polygon fill="#ffff80" points="2651 1562, 2651 1537, 2876 1537, 2901 1562, 2876 1587, 2651 1587, 2651 1562" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2651" y="1562">PC_NEW[15..0]</text>
<polyline fill="none" points="1451 1462, 1451 2162, 2651 2162" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polygon fill="#ffff80" points="2651 2162, 2651 2137, 2876 2137, 2901 2162, 2876 2187, 2651 2187, 2651 2162" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2651" y="2162">PC_NEXT[15..0]</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="131" x2="181" y1="1672" y2="1672"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="131 1672, 81 1622, 81 1722, 131 1672" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Times New Roman" font-size="30" font-weight="700" text-anchor="start" transform="rotate(-90 121 1682)" x="121" y="1682">1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" transform="rotate(-90 51 1682)" x="51" y="1682">U1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" transform="rotate(-90 81 1762)" x="81" y="1762">CONSTANT1</text>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="701" x2="751" y1="1582" y2="1532"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="701" x2="751" y1="1632" y2="1582"/>
<polyline fill="none" points="751 1582, 751 1532, 851 1532" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="701 1582, 551 1582" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="581" y="1582">B0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="581" y="1632">B1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="131" x2="181" y1="1632" y2="1632"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="131 1632, 81 1582, 81 1682, 131 1632" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Times New Roman" font-size="30" font-weight="700" text-anchor="start" transform="rotate(-90 121 1642)" x="121" y="1642">1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" transform="rotate(-90 51 1642)" x="51" y="1642">U18</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" transform="rotate(-90 81 1722)" x="81" y="1722">CONSTANT1</text>
<polyline fill="none" points="701 1632, 181 1632" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="851 1672, 181 1672" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000080" font-family="宋体" font-size="27" font-weight="400" text-anchor="start" x="131" y="1612">PC+2指向下一条指令</text>
<polyline fill="none" points="701 1152, 701 1212, 701 1462" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="201 262, 551 262" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="201 362, 551 362" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="611" x2="551" y1="262" y2="262"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="691" x2="751" y1="262" y2="262"/>
<circle cx="687" cy="262" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="611 212, 611 312, 681 262, 611 212" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="631" y="226">U19</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="611" y="358">NOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="611" x2="551" y1="362" y2="362"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="691" x2="751" y1="362" y2="362"/>
<circle cx="687" cy="362" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="611 312, 611 412, 681 362, 611 312" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="631" y="326">U20</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="611" y="458">NOT</text>
<polyline fill="none" points="751 262, 1651 262, 1651 1062, 1751 1062" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="751 362, 1551 362, 1551 1162, 1751 1162" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="宋体" font-size="105" font-weight="700" text-anchor="start" x="831" y="162">指令地址生成器</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="45" font-weight="400" text-anchor="start" x="551" y="1862">PC_branch[15..0]</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="45" font-weight="400" text-anchor="start" x="1401" y="1362">PC_jmp[15..0]</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="45" font-weight="400" text-anchor="start" x="1351" y="1462">PC_next[15..0]</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="45" font-weight="400" text-anchor="start" x="2271" y="1562">PC_new[15..0]</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="751" y="1532">B[15..0]</text>
<circle cx="701" cy="1462" fill="#000080" r="25" stroke="#000080" stroke-width="5"/>
<circle cx="1451" cy="1462" fill="#000080" r="25" stroke="#000080" stroke-width="5"/>
</svg>
添加文件
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<project id="cc76dfb5-389b-4822-9a8a-ef2eed053645" name="project" version="1">
<files>
<file relativepath="README.md"/>
</files>
</project>
添加文件
这个 源代码变更 因为 太大 而不能显示。 你可以 浏览blob
.text
addi $r0, $r0, 1 ;r0 = r0 + 1
addi $r1, $r1, 2 ;r1 = r1 + 2
addi $r3, $r3, 3 ;r3 = r3 + 3
SHIFT:
sllv $r1, $r1, $r0 ;r1 = r1 << r0
add $r3, $r3, $r1 ;r3 = r3 + r1
slt $r2, $r1, $r0 ;r2 = r1 < r0 ? 1 : 0;
beq $r2, $r2, NEXT ;if r2 == r2, goto NEXT
NEXT:
lw $r0, 0($r1) ;r0 = memory[r1+0]
sw $r3, 0($r1) ;memory[r1+0] = r3
sub $r1, $r1, $r0 ;r1 = r1 - r0
add $r1, $r1, $r0 ;r1 = r1 + r0
bne $r1, $r2, END ;if r1 != r2, goto END
END:
jump F1 ;goto SHIFT
sllv $r3, $r0, $r1 ;r3 = r0 << r1
F1:
sub $r2, $r2, $r3 ;r2 = r2 - r3
bgt $r3, $r2, F2 ;if r3 > r2, goto F2
add $r2, $r2, $r3 ;r2 = r2 + r3
F2:
ori $r1, $r1, 3 ;r1 = r1 | 3
srav $r3, $r3, $r1 ;r3 = r3 >> r1,
andi $r1, $r2, 4 ;r1 = r2 & 4
jump SHIFT ;goto SHIFT
@echo off
mipsasm.exe rom.asm -o rom.rxm -l rom.lst -g rom.dbg
pause
添加文件
0001 .text
0002
0003 00 50 01 addi $r0, $r0, 1 ;r0 = r0 + 1
0004 02 55 02 addi $r1, $r1, 2 ;r1 = r1 + 2
0005 04 5F 03 addi $r3, $r3, 3 ;r3 = r3 + 3
0006
0007
0008 SHIFT:
0009 06 04 44 sllv $r1, $r1, $r0 ;r1 = r1 << r0
0010 08 0D C2 add $r3, $r3, $r1 ;r3 = r3 + r1
0011
0012 0A 04 87 slt $r2, $r1, $r0 ;r2 = r1 < r0 ? 1 : 0;
0013 0C 8A 00 beq $r2, $r2, NEXT ;if r2 == r2, goto NEXT
0014
0015 NEXT:
0016 0E 64 00 lw $r0, 0($r1) ;r0 = memory[r1+0]
0017 10 77 00 sw $r3, 0($r1) ;memory[r1+0] = r3
0018
0019 12 04 43 sub $r1, $r1, $r0 ;r1 = r1 - r0
0020 14 04 42 add $r1, $r1, $r0 ;r1 = r1 + r0
0021 16 96 00 bne $r1, $r2, END ;if r1 != r2, goto END
0022
0023 END:
0024 18 B0 0E jump F1 ;goto SHIFT
0025 1A 01 C4 sllv $r3, $r0, $r1 ;r3 = r0 << r1
0026
0027 F1:
0028 1C 0B 83 sub $r2, $r2, $r3 ;r2 = r2 - r3
0029 1E AE 01 bgt $r3, $r2, F2 ;if r3 > r2, goto F2
0030 20 0B 82 add $r2, $r2, $r3 ;r2 = r2 + r3
0031
0032 F2:
0033 22 35 03 ori $r1, $r1, 3 ;r1 = r1 | 3
0034 24 0D C6 srav $r3, $r3, $r1 ;r3 = r3 >> r1,
0035 26 49 04 andi $r1, $r2, 4 ;r1 = r2 & 4
0036
0037 28 B0 03 jump SHIFT ;goto SHIFT
0038
0039
0040
0041
0042
添加文件
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论