diff --git a/instructions.xlsx b/instructions.xlsx index d1a8861..ed6be36 100644 Binary files a/instructions.xlsx and b/instructions.xlsx differ diff --git a/machine_alpha/machine_alpha.bdf b/machine_alpha/machine_alpha.bdf index e78baf5..087ac0c 100644 --- a/machine_alpha/machine_alpha.bdf +++ b/machine_alpha/machine_alpha.bdf @@ -73,7 +73,7 @@ applicable agreement for further details. ) (pin (input) - (rect 776 296 944 312) + (rect 632 296 800 312) (text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6))) (text "uIR4" (rect 5 0 28 12)(font "Arial" )) (pt 168 8) @@ -89,7 +89,7 @@ applicable agreement for further details. ) (pin (input) - (rect 776 280 944 296) + (rect 632 280 800 296) (text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6))) (text "uIR5" (rect 5 0 28 12)(font "Arial" )) (pt 168 8) @@ -105,7 +105,7 @@ applicable agreement for further details. ) (pin (input) - (rect 776 264 944 280) + (rect 632 264 800 280) (text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6))) (text "uIR6" (rect 5 0 28 12)(font "Arial" )) (pt 168 8) @@ -119,6 +119,38 @@ applicable agreement for further details. ) (text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6))) ) +(pin + (input) + (rect 2496 1624 2664 1640) + (text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6))) + (text "uIR7" (rect 5 0 28 12)(font "Arial" )) + (pt 168 8) + (drawing + (line (pt 92 12)(pt 117 12)(line_width 1)) + (line (pt 92 4)(pt 117 4)(line_width 1)) + (line (pt 121 8)(pt 168 8)(line_width 1)) + (line (pt 92 12)(pt 92 4)(line_width 1)) + (line (pt 117 4)(pt 121 8)(line_width 1)) + (line (pt 117 12)(pt 121 8)(line_width 1)) + ) + (text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6))) +) +(pin + (input) + (rect 368 432 536 448) + (text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6))) + (text "uIR16" (rect 5 0 34 12)(font "Arial" )) + (pt 168 8) + (drawing + (line (pt 92 12)(pt 117 12)(line_width 1)) + (line (pt 92 4)(pt 117 4)(line_width 1)) + (line (pt 121 8)(pt 168 8)(line_width 1)) + (line (pt 92 12)(pt 92 4)(line_width 1)) + (line (pt 117 4)(pt 121 8)(line_width 1)) + (line (pt 117 12)(pt 121 8)(line_width 1)) + ) + (text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6))) +) (pin (output) (rect 3696 1312 3872 1328) @@ -2664,7 +2696,7 @@ applicable agreement for further details. ) ) (symbol - (rect 992 240 1120 432) + (rect 824 240 952 432) (text "cp_selector" (rect 5 0 72 14)(font "Arial" (font_size 8))) (text "inst1" (rect 8 176 31 188)(font "Arial" )) (port @@ -2755,6 +2787,96 @@ applicable agreement for further details. (rectangle (rect 16 16 112 176)(line_width 1)) ) ) +(symbol + (rect 680 504 744 552) + (text "AND2" (rect 1 0 25 10)(font "Arial" (font_size 6))) + (text "ALU_A_AND" (rect 3 37 66 49)(font "Arial" )) + (port + (pt 0 16) + (input) + (text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible)) + (text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible)) + (line (pt 0 16)(pt 14 16)(line_width 1)) + ) + (port + (pt 0 32) + (input) + (text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible)) + (text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible)) + (line (pt 0 32)(pt 14 32)(line_width 1)) + ) + (port + (pt 64 24) + (output) + (text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible)) + (text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible)) + (line (pt 42 24)(pt 64 24)(line_width 1)) + ) + (drawing + (line (pt 14 12)(pt 30 12)(line_width 1)) + (line (pt 14 37)(pt 31 37)(line_width 1)) + (line (pt 14 12)(pt 14 37)(line_width 1)) + (arc (pt 31 37)(pt 30 12)(rect 18 12 43 37)(line_width 1)) + ) +) +(symbol + (rect 680 424 744 472) + (text "AND2" (rect 1 0 25 10)(font "Arial" (font_size 6))) + (text "ALU_B_AND" (rect 3 37 66 49)(font "Arial" )) + (port + (pt 0 16) + (input) + (text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible)) + (text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible)) + (line (pt 0 16)(pt 14 16)(line_width 1)) + ) + (port + (pt 0 32) + (input) + (text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible)) + (text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible)) + (line (pt 0 32)(pt 14 32)(line_width 1)) + ) + (port + (pt 64 24) + (output) + (text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible)) + (text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible)) + (line (pt 42 24)(pt 64 24)(line_width 1)) + ) + (drawing + (line (pt 14 12)(pt 30 12)(line_width 1)) + (line (pt 14 37)(pt 31 37)(line_width 1)) + (line (pt 14 12)(pt 14 37)(line_width 1)) + (arc (pt 31 37)(pt 30 12)(rect 18 12 43 37)(line_width 1)) + ) +) +(symbol + (rect 528 456 560 504) + (text "NOT" (rect 22 1 32 21)(font "Arial" (font_size 6))(vertical)) + (text "inst6" (rect -1 3 11 26)(font "Arial" )(vertical)) + (port + (pt 16 0) + (input) + (text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible)) + (text "IN" (rect 13 2 25 13)(font "Courier New" (bold))(vertical)(invisible)) + (line (pt 16 0)(pt 16 13)(line_width 1)) + ) + (port + (pt 16 48) + (output) + (text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible)) + (text "OUT" (rect 13 32 25 49)(font "Courier New" (bold))(vertical)(invisible)) + (line (pt 16 39)(pt 16 48)(line_width 1)) + ) + (drawing + (line (pt 7 13)(pt 25 13)(line_width 1)) + (line (pt 25 13)(pt 16 31)(line_width 1)) + (line (pt 7 13)(pt 16 31)(line_width 1)) + (circle (rect 12 31 20 39)(line_width 1)) + ) + (rotate270) +) (connector (pt 2792 1544) (pt 2800 1544) @@ -4694,98 +4816,182 @@ applicable agreement for further details. (pt 1568 1248) (pt 1624 1248) ) -(connector - (pt 944 304) - (pt 992 304) -) -(connector - (pt 944 288) - (pt 992 288) -) -(connector - (pt 944 272) - (pt 992 272) -) (connector (pt 1400 8) (pt 1456 8) ) -(connector - (pt 1456 8) - (pt 1456 192) -) -(connector - (pt 1456 192) - (pt 744 192) -) -(connector - (pt 744 192) - (pt 744 320) -) -(connector - (pt 744 320) - (pt 992 320) -) (connector (pt 2072 1648) (pt 1880 1648) ) -(connector - (pt 1120 368) - (pt 1880 368) -) -(connector - (pt 1880 368) - (pt 1880 1648) -) (connector (pt 2696 1576) (pt 2456 1576) ) -(connector - (pt 1120 352) - (pt 2456 352) -) -(connector - (pt 2456 352) - (pt 2456 1576) -) (connector (pt 3160 1472) (pt 3128 1472) ) -(connector - (pt 1120 336) - (pt 3128 336) -) -(connector - (pt 3128 336) - (pt 3128 1472) -) (connector (pt 3448 1240) (pt 3368 1240) ) -(connector - (pt 3368 320) - (pt 3368 1240) -) -(connector - (pt 1120 320) - (pt 3368 320) -) (connector (pt 4184 1248) (pt 4024 1248) ) (connector - (pt 1120 304) - (pt 4024 304) + (pt 2664 1632) + (pt 2680 1632) +) +(connector + (pt 2680 1632) + (pt 2680 1560) +) +(connector + (pt 2680 1560) + (pt 2696 1560) +) +(connector + (pt 1456 8) + (pt 1456 192) +) +(connector + (pt 1456 192) + (pt 600 192) +) +(connector + (pt 800 272) + (pt 824 272) +) +(connector + (pt 800 288) + (pt 824 288) +) +(connector + (pt 800 304) + (pt 824 304) +) +(connector + (pt 600 320) + (pt 824 320) +) +(connector + (pt 1880 1648) + (pt 1880 368) +) +(connector + (pt 2456 1576) + (pt 2456 352) +) +(connector + (pt 3128 1472) + (pt 3128 336) +) +(connector + (pt 3368 1240) + (pt 3368 320) ) (connector (pt 4024 1248) (pt 4024 304) ) +(connector + (pt 952 304) + (pt 4024 304) +) +(connector + (pt 952 320) + (pt 3368 320) +) +(connector + (pt 952 336) + (pt 3128 336) +) +(connector + (pt 952 352) + (pt 2456 352) +) +(connector + (pt 952 368) + (pt 1880 368) +) +(connector + (pt 1240 1424) + (pt 1072 1424) +) +(connector + (pt 1072 1424) + (pt 1072 288) +) +(connector + (pt 952 288) + (pt 1072 288) +) +(connector + (pt 544 440) + (pt 544 456) +) +(connector + (pt 536 440) + (pt 544 440) +) +(connector + (pt 544 440) + (pt 680 440) +) +(connector + (pt 544 504) + (pt 544 520) +) +(connector + (pt 544 520) + (pt 680 520) +) +(connector + (pt 600 456) + (pt 680 456) +) +(connector + (pt 600 192) + (pt 600 320) +) +(connector + (pt 600 536) + (pt 680 536) +) +(connector + (pt 600 320) + (pt 600 456) +) +(connector + (pt 600 456) + (pt 600 536) +) +(connector + (pt 744 528) + (pt 1088 528) +) +(connector + (pt 1088 528) + (pt 1088 1392) +) +(connector + (pt 1088 1392) + (pt 1240 1392) +) +(connector + (pt 1240 1408) + (pt 1080 1408) +) +(connector + (pt 1080 1408) + (pt 1080 448) +) +(connector + (pt 744 448) + (pt 1080 448) +) (junction (pt 3048 992)) (junction (pt 3056 1008)) (junction (pt 3064 1024)) @@ -4860,6 +5066,9 @@ applicable agreement for further details. (junction (pt 2032 1088)) (junction (pt 2040 1104)) (junction (pt 1376 1248)) +(junction (pt 544 440)) +(junction (pt 600 320)) +(junction (pt 600 456)) (text "from MDR" (rect 824 736 879 750)(font "Arial" (font_size 8))) (text "from general registers" (rect 776 864 902 878)(font "Arial" (font_size 8))) (text "from PC" (rect 792 1232 836 1246)(font "Arial" (font_size 8)))