diff --git a/instructions.xlsx b/instructions.xlsx index e1944a2..399ee7f 100644 Binary files a/instructions.xlsx and b/instructions.xlsx differ diff --git a/machine_alpha/cp_selector.bdf b/machine_alpha/cp_selector.bdf index f2184cd..e908943 100644 --- a/machine_alpha/cp_selector.bdf +++ b/machine_alpha/cp_selector.bdf @@ -22,7 +22,7 @@ applicable agreement for further details. (header "graphic" (version "1.3")) (pin (input) - (rect 424 272 592 288) + (rect 576 552 744 568) (text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6))) (text "CP_EN0" (rect 5 0 47 12)(font "Arial" )) (pt 168 8) @@ -38,7 +38,7 @@ applicable agreement for further details. ) (pin (input) - (rect 424 256 592 272) + (rect 576 536 744 552) (text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6))) (text "CP_EN1" (rect 5 0 47 12)(font "Arial" )) (pt 168 8) @@ -54,7 +54,7 @@ applicable agreement for further details. ) (pin (input) - (rect 424 240 592 256) + (rect 576 520 744 536) (text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6))) (text "CP_EN2" (rect 5 0 47 12)(font "Arial" )) (pt 168 8) @@ -70,7 +70,7 @@ applicable agreement for further details. ) (pin (input) - (rect 792 376 960 392) + (rect 792 440 960 456) (text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6))) (text "CP" (rect 5 0 20 12)(font "Arial" )) (pt 168 8) @@ -84,9 +84,41 @@ applicable agreement for further details. ) (text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6))) ) +(pin + (input) + (rect 576 928 744 944) + (text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6))) + (text "ALU_CP_EN0" (rect 5 0 74 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 576 912 744 928) + (text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6))) + (text "ALU_CP_EN1" (rect 5 0 74 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 1288 792 1464 808) + (rect 1088 840 1264 856) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) (text "CP_0" (rect 90 0 117 12)(font "Arial" )) (pt 0 8) @@ -102,7 +134,7 @@ applicable agreement for further details. ) (pin (output) - (rect 1288 752 1464 768) + (rect 1088 792 1264 808) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) (text "CP_1" (rect 90 0 117 12)(font "Arial" )) (pt 0 8) @@ -118,7 +150,7 @@ applicable agreement for further details. ) (pin (output) - (rect 1288 712 1464 728) + (rect 1088 744 1264 760) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) (text "CP_2" (rect 90 0 117 12)(font "Arial" )) (pt 0 8) @@ -134,7 +166,7 @@ applicable agreement for further details. ) (pin (output) - (rect 1288 672 1464 688) + (rect 1088 696 1264 712) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) (text "CP_3" (rect 90 0 117 12)(font "Arial" )) (pt 0 8) @@ -150,7 +182,7 @@ applicable agreement for further details. ) (pin (output) - (rect 1288 632 1464 648) + (rect 1088 648 1264 664) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) (text "CP_4" (rect 90 0 117 12)(font "Arial" )) (pt 0 8) @@ -166,7 +198,7 @@ applicable agreement for further details. ) (pin (output) - (rect 1288 592 1464 608) + (rect 1088 608 1264 624) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) (text "CP_5" (rect 90 0 117 12)(font "Arial" )) (pt 0 8) @@ -182,7 +214,7 @@ applicable agreement for further details. ) (pin (output) - (rect 1288 552 1464 568) + (rect 1088 560 1264 576) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) (text "CP_6" (rect 90 0 117 12)(font "Arial" )) (pt 0 8) @@ -198,7 +230,7 @@ applicable agreement for further details. ) (pin (output) - (rect 1288 512 1464 528) + (rect 1088 512 1264 528) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) (text "CP_7" (rect 90 0 117 12)(font "Arial" )) (pt 0 8) @@ -212,8 +244,72 @@ applicable agreement for further details. (line (pt 78 12)(pt 82 8)(line_width 1)) ) ) +(pin + (output) + (rect 1088 1040 1264 1056) + (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) + (text "ALU_CP0" (rect 90 0 138 12)(font "Arial" )) + (pt 0 8) + (drawing + (line (pt 0 8)(pt 52 8)(line_width 1)) + (line (pt 52 4)(pt 78 4)(line_width 1)) + (line (pt 52 12)(pt 78 12)(line_width 1)) + (line (pt 52 12)(pt 52 4)(line_width 1)) + (line (pt 78 4)(pt 82 8)(line_width 1)) + (line (pt 82 8)(pt 78 12)(line_width 1)) + (line (pt 78 12)(pt 82 8)(line_width 1)) + ) +) +(pin + (output) + (rect 1088 1000 1264 1016) + (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) + (text "ALU_CP1" (rect 90 0 138 12)(font "Arial" )) + (pt 0 8) + (drawing + (line (pt 0 8)(pt 52 8)(line_width 1)) + (line (pt 52 4)(pt 78 4)(line_width 1)) + (line (pt 52 12)(pt 78 12)(line_width 1)) + (line (pt 52 12)(pt 52 4)(line_width 1)) + (line (pt 78 4)(pt 82 8)(line_width 1)) + (line (pt 82 8)(pt 78 12)(line_width 1)) + (line (pt 78 12)(pt 82 8)(line_width 1)) + ) +) +(pin + (output) + (rect 1088 952 1264 968) + (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) + (text "ALU_CP2" (rect 90 0 138 12)(font "Arial" )) + (pt 0 8) + (drawing + (line (pt 0 8)(pt 52 8)(line_width 1)) + (line (pt 52 4)(pt 78 4)(line_width 1)) + (line (pt 52 12)(pt 78 12)(line_width 1)) + (line (pt 52 12)(pt 52 4)(line_width 1)) + (line (pt 78 4)(pt 82 8)(line_width 1)) + (line (pt 82 8)(pt 78 12)(line_width 1)) + (line (pt 78 12)(pt 82 8)(line_width 1)) + ) +) +(pin + (output) + (rect 1088 904 1264 920) + (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) + (text "ALU_CP3" (rect 90 0 138 12)(font "Arial" )) + (pt 0 8) + (drawing + (line (pt 0 8)(pt 52 8)(line_width 1)) + (line (pt 52 4)(pt 78 4)(line_width 1)) + (line (pt 52 12)(pt 78 12)(line_width 1)) + (line (pt 52 12)(pt 52 4)(line_width 1)) + (line (pt 78 4)(pt 82 8)(line_width 1)) + (line (pt 82 8)(pt 78 12)(line_width 1)) + (line (pt 78 12)(pt 82 8)(line_width 1)) + ) +) (symbol - (rect 616 216 712 408) + (rect 768 496 864 688) (text "38_decoder" (rect 5 0 73 14)(font "Arial" (font_size 8))) (text "inst" (rect 8 176 25 188)(font "Arial" )) (port @@ -298,7 +394,7 @@ applicable agreement for further details. ) ) (symbol - (rect 1032 776 1096 824) + (rect 1008 824 1072 872) (text "AND2" (rect 1 0 25 10)(font "Arial" (font_size 6))) (text "inst2" (rect 3 37 26 49)(font "Arial" )) (port @@ -330,7 +426,7 @@ applicable agreement for further details. ) ) (symbol - (rect 1032 736 1096 784) + (rect 1008 776 1072 824) (text "AND2" (rect 1 0 25 10)(font "Arial" (font_size 6))) (text "inst3" (rect 3 37 26 49)(font "Arial" )) (port @@ -362,7 +458,7 @@ applicable agreement for further details. ) ) (symbol - (rect 1032 696 1096 744) + (rect 1008 728 1072 776) (text "AND2" (rect 1 0 25 10)(font "Arial" (font_size 6))) (text "inst4" (rect 3 37 26 49)(font "Arial" )) (port @@ -394,7 +490,7 @@ applicable agreement for further details. ) ) (symbol - (rect 1032 656 1096 704) + (rect 1008 680 1072 728) (text "AND2" (rect 1 0 25 10)(font "Arial" (font_size 6))) (text "inst5" (rect 3 37 26 49)(font "Arial" )) (port @@ -426,7 +522,7 @@ applicable agreement for further details. ) ) (symbol - (rect 1032 616 1096 664) + (rect 1008 632 1072 680) (text "AND2" (rect 1 0 25 10)(font "Arial" (font_size 6))) (text "inst6" (rect 3 37 26 49)(font "Arial" )) (port @@ -458,7 +554,7 @@ applicable agreement for further details. ) ) (symbol - (rect 1032 576 1096 624) + (rect 1008 592 1072 640) (text "AND2" (rect 1 0 25 10)(font "Arial" (font_size 6))) (text "inst7" (rect 3 37 26 49)(font "Arial" )) (port @@ -490,7 +586,7 @@ applicable agreement for further details. ) ) (symbol - (rect 1032 536 1096 584) + (rect 1008 544 1072 592) (text "AND2" (rect 1 0 25 10)(font "Arial" (font_size 6))) (text "inst8" (rect 3 37 26 49)(font "Arial" )) (port @@ -522,7 +618,7 @@ applicable agreement for further details. ) ) (symbol - (rect 1032 496 1096 544) + (rect 1008 496 1072 544) (text "AND2" (rect 1 0 25 10)(font "Arial" (font_size 6))) (text "inst9" (rect 3 37 26 49)(font "Arial" )) (port @@ -553,218 +649,488 @@ applicable agreement for further details. (arc (pt 31 37)(pt 30 12)(rect 18 12 43 37)(line_width 1)) ) ) -(connector - (pt 592 280) - (pt 616 280) +(symbol + (rect 768 888 864 1016) + (text "24_decoder" (rect 5 0 73 14)(font "Arial" (font_size 8))) + (text "inst10" (rect 8 112 37 124)(font "Arial" )) + (port + (pt 0 32) + (input) + (text "I1" (rect 0 0 9 14)(font "Arial" (font_size 8))) + (text "I1" (rect 21 27 30 41)(font "Arial" (font_size 8))) + (line (pt 0 32)(pt 16 32)(line_width 1)) + ) + (port + (pt 0 48) + (input) + (text "I0" (rect 0 0 9 14)(font "Arial" (font_size 8))) + (text "I0" (rect 21 43 30 57)(font "Arial" (font_size 8))) + (line (pt 0 48)(pt 16 48)(line_width 1)) + ) + (port + (pt 96 32) + (output) + (text "Y3" (rect 0 0 16 14)(font "Arial" (font_size 8))) + (text "Y3" (rect 59 27 75 41)(font "Arial" (font_size 8))) + (line (pt 96 32)(pt 80 32)(line_width 1)) + ) + (port + (pt 96 48) + (output) + (text "Y2" (rect 0 0 16 14)(font "Arial" (font_size 8))) + (text "Y2" (rect 59 43 75 57)(font "Arial" (font_size 8))) + (line (pt 96 48)(pt 80 48)(line_width 1)) + ) + (port + (pt 96 64) + (output) + (text "Y1" (rect 0 0 16 14)(font "Arial" (font_size 8))) + (text "Y1" (rect 59 59 75 73)(font "Arial" (font_size 8))) + (line (pt 96 64)(pt 80 64)(line_width 1)) + ) + (port + (pt 96 80) + (output) + (text "Y0" (rect 0 0 16 14)(font "Arial" (font_size 8))) + (text "Y0" (rect 59 75 75 89)(font "Arial" (font_size 8))) + (line (pt 96 80)(pt 80 80)(line_width 1)) + ) + (drawing + (rectangle (rect 16 16 80 112)(line_width 1)) + ) +) +(symbol + (rect 1008 1024 1072 1072) + (text "AND2" (rect 1 0 25 10)(font "Arial" (font_size 6))) + (text "inst11" (rect 3 37 32 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 1008 984 1072 1032) + (text "AND2" (rect 1 0 25 10)(font "Arial" (font_size 6))) + (text "inst12" (rect 3 37 32 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 1008 936 1072 984) + (text "AND2" (rect 1 0 25 10)(font "Arial" (font_size 6))) + (text "inst13" (rect 3 37 32 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 1008 888 1072 936) + (text "AND2" (rect 1 0 25 10)(font "Arial" (font_size 6))) + (text "inst14" (rect 3 37 32 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)) + ) ) (connector - (pt 592 264) - (pt 616 264) + (pt 880 640) + (pt 864 640) ) (connector - (pt 592 248) - (pt 616 248) + (pt 864 624) + (pt 896 624) ) (connector - (pt 1096 800) - (pt 1288 800) + (pt 864 608) + (pt 912 608) ) (connector - (pt 1096 760) - (pt 1288 760) + (pt 864 592) + (pt 928 592) ) (connector - (pt 1096 720) - (pt 1288 720) + (pt 864 576) + (pt 944 576) ) (connector - (pt 1096 680) - (pt 1288 680) + (pt 864 560) + (pt 960 560) ) (connector - (pt 1096 640) - (pt 1288 640) + (pt 864 544) + (pt 976 544) ) (connector - (pt 1096 600) - (pt 1288 600) + (pt 744 528) + (pt 768 528) ) (connector - (pt 1096 560) - (pt 1288 560) + (pt 744 544) + (pt 768 544) ) (connector - (pt 1096 520) - (pt 1288 520) + (pt 744 560) + (pt 768 560) ) (connector - (pt 712 360) - (pt 720 360) + (pt 992 512) + (pt 1008 512) ) (connector - (pt 720 360) - (pt 720 808) + (pt 864 528) + (pt 1008 528) ) (connector - (pt 720 808) - (pt 1032 808) + (pt 1072 520) + (pt 1088 520) ) (connector - (pt 712 344) - (pt 728 344) + (pt 960 448) + (pt 992 448) ) (connector - (pt 728 344) - (pt 728 768) + (pt 992 560) + (pt 1008 560) ) (connector - (pt 728 768) - (pt 1032 768) + (pt 976 576) + (pt 1008 576) ) (connector - (pt 712 328) - (pt 736 328) + (pt 976 544) + (pt 976 576) ) (connector - (pt 736 328) - (pt 736 728) + (pt 1072 568) + (pt 1088 568) ) (connector - (pt 736 728) - (pt 1032 728) + (pt 992 448) + (pt 992 512) ) (connector - (pt 712 312) - (pt 744 312) + (pt 992 608) + (pt 1008 608) ) (connector - (pt 744 312) - (pt 744 688) + (pt 992 648) + (pt 1008 648) ) (connector - (pt 744 688) - (pt 1032 688) + (pt 960 624) + (pt 1008 624) ) (connector - (pt 712 296) - (pt 752 296) + (pt 944 664) + (pt 1008 664) ) (connector - (pt 752 296) - (pt 752 648) + (pt 944 576) + (pt 944 664) ) (connector - (pt 752 648) - (pt 1032 648) + (pt 960 560) + (pt 960 624) ) (connector - (pt 712 280) - (pt 760 280) + (pt 1072 616) + (pt 1088 616) ) (connector - (pt 760 280) - (pt 760 608) + (pt 1072 656) + (pt 1088 656) ) (connector - (pt 760 608) - (pt 1032 608) + (pt 992 512) + (pt 992 560) ) (connector - (pt 712 264) - (pt 768 264) + (pt 992 560) + (pt 992 608) ) (connector - (pt 768 264) - (pt 768 568) + (pt 992 608) + (pt 992 648) ) (connector - (pt 768 568) - (pt 1032 568) + (pt 992 840) + (pt 1008 840) ) (connector - (pt 712 248) - (pt 776 248) + (pt 880 856) + (pt 1008 856) ) (connector - (pt 776 248) - (pt 776 528) + (pt 880 640) + (pt 880 856) ) (connector - (pt 776 528) - (pt 1032 528) -) -(connector - (pt 960 384) - (pt 992 384) + (pt 1072 848) + (pt 1088 848) ) (connector (pt 992 792) - (pt 1032 792) + (pt 1008 792) ) (connector - (pt 1032 752) - (pt 992 752) + (pt 896 808) + (pt 1008 808) ) (connector - (pt 992 752) + (pt 896 624) + (pt 896 808) +) +(connector + (pt 1072 800) + (pt 1088 800) +) +(connector + (pt 992 744) + (pt 1008 744) +) +(connector + (pt 912 760) + (pt 1008 760) +) +(connector + (pt 912 608) + (pt 912 760) +) +(connector + (pt 992 744) (pt 992 792) ) (connector - (pt 1032 712) - (pt 992 712) + (pt 1072 752) + (pt 1088 752) ) (connector - (pt 992 712) - (pt 992 752) + (pt 992 696) + (pt 1008 696) ) (connector - (pt 1032 672) - (pt 992 672) + (pt 928 712) + (pt 1008 712) ) (connector - (pt 992 672) - (pt 992 712) + (pt 928 592) + (pt 928 712) ) (connector - (pt 1032 632) - (pt 992 632) + (pt 992 648) + (pt 992 696) ) (connector - (pt 992 632) - (pt 992 672) + (pt 992 696) + (pt 992 744) ) (connector - (pt 1032 592) - (pt 992 592) + (pt 1072 704) + (pt 1088 704) ) (connector - (pt 992 592) - (pt 992 632) + (pt 992 904) + (pt 1008 904) ) (connector - (pt 1032 552) - (pt 992 552) + (pt 1072 912) + (pt 1088 912) ) (connector - (pt 992 552) - (pt 992 592) + (pt 992 952) + (pt 1008 952) ) (connector - (pt 1032 512) - (pt 992 512) + (pt 976 968) + (pt 1008 968) ) (connector - (pt 992 384) - (pt 992 512) + (pt 1072 960) + (pt 1088 960) ) (connector - (pt 992 512) - (pt 992 552) + (pt 992 1000) + (pt 1008 1000) +) +(connector + (pt 992 1040) + (pt 1008 1040) +) +(connector + (pt 960 1016) + (pt 1008 1016) +) +(connector + (pt 1072 1008) + (pt 1088 1008) +) +(connector + (pt 1072 1048) + (pt 1088 1048) +) +(connector + (pt 992 904) + (pt 992 952) +) +(connector + (pt 992 952) + (pt 992 1000) +) +(connector + (pt 992 1000) + (pt 992 1040) +) +(connector + (pt 992 792) + (pt 992 840) +) +(connector + (pt 992 840) + (pt 992 904) +) +(connector + (pt 944 1056) + (pt 1008 1056) +) +(connector + (pt 976 968) + (pt 976 936) +) +(connector + (pt 944 1056) + (pt 944 968) +) +(connector + (pt 960 1016) + (pt 960 952) +) +(connector + (pt 864 920) + (pt 1008 920) +) +(connector + (pt 864 936) + (pt 976 936) +) +(connector + (pt 864 952) + (pt 960 952) +) +(connector + (pt 864 968) + (pt 944 968) +) +(connector + (pt 744 920) + (pt 768 920) +) +(connector + (pt 744 936) + (pt 768 936) ) -(junction (pt 992 752)) -(junction (pt 992 712)) -(junction (pt 992 672)) -(junction (pt 992 632)) -(junction (pt 992 592)) -(junction (pt 992 552)) (junction (pt 992 512)) +(junction (pt 992 560)) +(junction (pt 992 608)) +(junction (pt 992 648)) +(junction (pt 992 792)) +(junction (pt 992 744)) +(junction (pt 992 696)) +(junction (pt 992 952)) +(junction (pt 992 1000)) +(junction (pt 992 904)) +(junction (pt 992 840)) diff --git a/machine_alpha/cp_selector.bsf b/machine_alpha/cp_selector.bsf index a2cfd72..179a83a 100644 --- a/machine_alpha/cp_selector.bsf +++ b/machine_alpha/cp_selector.bsf @@ -20,94 +20,136 @@ applicable agreement for further details. */ (header "symbol" (version "1.1")) (symbol - (rect 16 16 144 208) + (rect 64 64 208 320) (text "cp_selector" (rect 5 0 72 14)(font "Arial" (font_size 8))) - (text "inst" (rect 8 176 25 188)(font "Arial" )) + (text "inst" (rect 8 240 25 252)(font "Arial" )) (port (pt 0 32) (input) - (text "CP_EN2" (rect 0 0 44 14)(font "Arial" (font_size 8))) - (text "CP_EN2" (rect 21 27 65 41)(font "Arial" (font_size 8))) + (text "CP" (rect 0 0 15 14)(font "Arial" (font_size 8))) + (text "CP" (rect 21 27 36 41)(font "Arial" (font_size 8))) (line (pt 0 32)(pt 16 32)(line_width 1)) ) (port (pt 0 48) (input) - (text "CP_EN1" (rect 0 0 44 14)(font "Arial" (font_size 8))) - (text "CP_EN1" (rect 21 43 65 57)(font "Arial" (font_size 8))) + (text "CP_EN2" (rect 0 0 44 14)(font "Arial" (font_size 8))) + (text "CP_EN2" (rect 21 43 65 57)(font "Arial" (font_size 8))) (line (pt 0 48)(pt 16 48)(line_width 1)) ) (port (pt 0 64) (input) - (text "CP_EN0" (rect 0 0 44 14)(font "Arial" (font_size 8))) - (text "CP_EN0" (rect 21 59 65 73)(font "Arial" (font_size 8))) + (text "CP_EN1" (rect 0 0 44 14)(font "Arial" (font_size 8))) + (text "CP_EN1" (rect 21 59 65 73)(font "Arial" (font_size 8))) (line (pt 0 64)(pt 16 64)(line_width 1)) ) (port (pt 0 80) (input) - (text "CP" (rect 0 0 15 14)(font "Arial" (font_size 8))) - (text "CP" (rect 21 75 36 89)(font "Arial" (font_size 8))) + (text "CP_EN0" (rect 0 0 44 14)(font "Arial" (font_size 8))) + (text "CP_EN0" (rect 21 75 65 89)(font "Arial" (font_size 8))) (line (pt 0 80)(pt 16 80)(line_width 1)) ) (port - (pt 128 32) - (output) - (text "CP_7" (rect 0 0 29 14)(font "Arial" (font_size 8))) - (text "CP_7" (rect 78 27 107 41)(font "Arial" (font_size 8))) - (line (pt 128 32)(pt 112 32)(line_width 1)) + (pt 0 96) + (input) + (text "ALU_CP_EN1" (rect 0 0 76 14)(font "Arial" (font_size 8))) + (text "ALU_CP_EN1" (rect 21 91 97 105)(font "Arial" (font_size 8))) + (line (pt 0 96)(pt 16 96)(line_width 1)) ) (port - (pt 128 48) - (output) - (text "CP_6" (rect 0 0 29 14)(font "Arial" (font_size 8))) - (text "CP_6" (rect 78 43 107 57)(font "Arial" (font_size 8))) - (line (pt 128 48)(pt 112 48)(line_width 1)) + (pt 0 112) + (input) + (text "ALU_CP_EN0" (rect 0 0 76 14)(font "Arial" (font_size 8))) + (text "ALU_CP_EN0" (rect 21 107 97 121)(font "Arial" (font_size 8))) + (line (pt 0 112)(pt 16 112)(line_width 1)) ) (port - (pt 128 64) + (pt 144 32) (output) - (text "CP_5" (rect 0 0 29 14)(font "Arial" (font_size 8))) - (text "CP_5" (rect 78 59 107 73)(font "Arial" (font_size 8))) - (line (pt 128 64)(pt 112 64)(line_width 1)) + (text "CP_7" (rect -40 0 -11 14)(font "Arial" (font_size 8))) + (text "CP_7" (rect 94 27 123 41)(font "Arial" (font_size 8))) + (line (pt 144 32)(pt 128 32)(line_width 1)) ) (port - (pt 128 80) + (pt 144 48) (output) - (text "CP_4" (rect 0 0 29 14)(font "Arial" (font_size 8))) - (text "CP_4" (rect 78 75 107 89)(font "Arial" (font_size 8))) - (line (pt 128 80)(pt 112 80)(line_width 1)) + (text "CP_6" (rect -40 0 -11 14)(font "Arial" (font_size 8))) + (text "CP_6" (rect 94 43 123 57)(font "Arial" (font_size 8))) + (line (pt 144 48)(pt 128 48)(line_width 1)) ) (port - (pt 128 96) + (pt 144 64) (output) - (text "CP_3" (rect 0 0 29 14)(font "Arial" (font_size 8))) - (text "CP_3" (rect 78 91 107 105)(font "Arial" (font_size 8))) - (line (pt 128 96)(pt 112 96)(line_width 1)) + (text "CP_5" (rect -40 0 -11 14)(font "Arial" (font_size 8))) + (text "CP_5" (rect 94 59 123 73)(font "Arial" (font_size 8))) + (line (pt 144 64)(pt 128 64)(line_width 1)) ) (port - (pt 128 112) + (pt 144 80) (output) - (text "CP_2" (rect 0 0 29 14)(font "Arial" (font_size 8))) - (text "CP_2" (rect 78 107 107 121)(font "Arial" (font_size 8))) - (line (pt 128 112)(pt 112 112)(line_width 1)) + (text "CP_4" (rect -40 0 -11 14)(font "Arial" (font_size 8))) + (text "CP_4" (rect 94 75 123 89)(font "Arial" (font_size 8))) + (line (pt 144 80)(pt 128 80)(line_width 1)) ) (port - (pt 128 128) + (pt 144 96) (output) - (text "CP_1" (rect 0 0 29 14)(font "Arial" (font_size 8))) - (text "CP_1" (rect 78 123 107 137)(font "Arial" (font_size 8))) - (line (pt 128 128)(pt 112 128)(line_width 1)) + (text "CP_3" (rect -40 0 -11 14)(font "Arial" (font_size 8))) + (text "CP_3" (rect 94 91 123 105)(font "Arial" (font_size 8))) + (line (pt 144 96)(pt 128 96)(line_width 1)) ) (port - (pt 128 144) + (pt 144 112) (output) - (text "CP_0" (rect 0 0 29 14)(font "Arial" (font_size 8))) - (text "CP_0" (rect 78 139 107 153)(font "Arial" (font_size 8))) - (line (pt 128 144)(pt 112 144)(line_width 1)) + (text "CP_2" (rect -40 0 -11 14)(font "Arial" (font_size 8))) + (text "CP_2" (rect 94 107 123 121)(font "Arial" (font_size 8))) + (line (pt 144 112)(pt 128 112)(line_width 1)) + ) + (port + (pt 144 128) + (output) + (text "CP_1" (rect -40 0 -11 14)(font "Arial" (font_size 8))) + (text "CP_1" (rect 94 123 123 137)(font "Arial" (font_size 8))) + (line (pt 144 128)(pt 128 128)(line_width 1)) + ) + (port + (pt 144 144) + (output) + (text "CP_0" (rect -40 0 -11 14)(font "Arial" (font_size 8))) + (text "CP_0" (rect 94 139 123 153)(font "Arial" (font_size 8))) + (line (pt 144 144)(pt 128 144)(line_width 1)) + ) + (port + (pt 144 176) + (output) + (text "ALU_CP3" (rect -40 0 14 14)(font "Arial" (font_size 8))) + (text "ALU_CP3" (rect 69 171 123 185)(font "Arial" (font_size 8))) + (line (pt 144 176)(pt 128 176)(line_width 1)) + ) + (port + (pt 144 192) + (output) + (text "ALU_CP2" (rect -40 0 14 14)(font "Arial" (font_size 8))) + (text "ALU_CP2" (rect 69 187 123 201)(font "Arial" (font_size 8))) + (line (pt 144 192)(pt 128 192)(line_width 1)) + ) + (port + (pt 144 208) + (output) + (text "ALU_CP1" (rect -40 0 14 14)(font "Arial" (font_size 8))) + (text "ALU_CP1" (rect 69 203 123 217)(font "Arial" (font_size 8))) + (line (pt 144 208)(pt 128 208)(line_width 1)) + ) + (port + (pt 144 224) + (output) + (text "ALU_CP0" (rect -40 0 14 14)(font "Arial" (font_size 8))) + (text "ALU_CP0" (rect 69 219 123 233)(font "Arial" (font_size 8))) + (line (pt 144 224)(pt 128 224)(line_width 1)) ) (drawing - (rectangle (rect 16 16 112 176)(line_width 1)) + (rectangle (rect 16 16 128 240)(line_width 1)) ) ) diff --git a/machine_alpha/machine_alpha.bdf b/machine_alpha/machine_alpha.bdf index ca1c2d2..66e887f 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 664 288 832 304) + (rect 664 304 832 320) (text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6))) (text "uIR4" (rect 5 0 28 12)(font "Arial" )) (pt 168 8) @@ -90,7 +90,7 @@ applicable agreement for further details. ) (pin (input) - (rect 664 272 832 288) + (rect 664 288 832 304) (text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6))) (text "uIR5" (rect 5 0 28 12)(font "Arial" )) (pt 168 8) @@ -107,7 +107,7 @@ applicable agreement for further details. ) (pin (input) - (rect 664 256 832 272) + (rect 664 272 832 288) (text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6))) (text "uIR6" (rect 5 0 28 12)(font "Arial" )) (pt 168 8) @@ -137,24 +137,7 @@ applicable agreement for further details. (line (pt 117 12)(pt 121 8)(line_width 1)) ) (text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6))) - (annotation_block (location)(rect 1872 1008 1920 1024)) -) -(pin - (input) - (rect 664 448 832 464) - (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))) - (annotation_block (location)(rect 608 464 664 480)) + (annotation_block (location)(rect 2080 1328 2128 1344)) ) (pin (input) @@ -309,23 +292,6 @@ applicable agreement for further details. (text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6))) (annotation_block (location)(rect 2816 1632 2864 1648)) ) -(pin - (input) - (rect 2664 1048 2832 1064) - (text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6))) - (text "uIR17" (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))) - (annotation_block (location)(rect 2744 1064 2800 1080)) -) (pin (input) (rect 3120 1448 3288 1464) @@ -341,7 +307,7 @@ applicable agreement for further details. (line (pt 117 12)(pt 121 8)(line_width 1)) ) (text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6))) - (annotation_block (location)(rect 2104 216 2160 232)) + (annotation_block (location)(rect 3064 1464 3120 1480)) ) (pin (input) @@ -358,7 +324,58 @@ applicable agreement for further details. (line (pt 117 12)(pt 121 8)(line_width 1)) ) (text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6))) - (annotation_block (location)(rect 2104 184 2160 200)) + (annotation_block (location)(rect 3064 1432 3120 1448)) +) +(pin + (input) + (rect 664 336 832 352) + (text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6))) + (text "uIR17" (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))) + (annotation_block (location)(rect 608 352 664 368)) +) +(pin + (input) + (rect 664 352 832 368) + (text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6))) + (text "uIR18" (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))) + (annotation_block (location)(rect 608 368 664 384)) +) +(pin + (input) + (rect 2664 1048 2832 1064) + (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))) + (annotation_block (location)(rect 2744 1064 2800 1080)) ) (pin (output) @@ -715,7 +732,7 @@ applicable agreement for further details. (line (pt 82 8)(pt 78 12)(line_width 1)) (line (pt 78 12)(pt 82 8)(line_width 1)) ) - (annotation_block (location)(rect 2568 184 2616 200)) + (annotation_block (location)(rect 3528 1432 3576 1448)) ) (pin (output) @@ -732,7 +749,7 @@ applicable agreement for further details. (line (pt 82 8)(pt 78 12)(line_width 1)) (line (pt 78 12)(pt 82 8)(line_width 1)) ) - (annotation_block (location)(rect 2568 216 2616 232)) + (annotation_block (location)(rect 3528 1464 3576 1480)) ) (pin (output) @@ -956,7 +973,7 @@ applicable agreement for further details. ) ) (symbol - (rect 816 72 864 104) + (rect 808 72 856 104) (text "NOT" (rect 1 0 21 10)(font "Arial" (font_size 6))) (text "inst" (rect 3 21 20 33)(font "Arial" )) (port @@ -2018,188 +2035,6 @@ applicable agreement for further details. (rectangle (rect 16 16 160 304)(line_width 1)) ) ) -(symbol - (rect 896 232 1024 424) - (text "cp_selector" (rect 5 0 72 14)(font "Arial" (font_size 8))) - (text "inst1" (rect 8 176 31 188)(font "Arial" )) - (port - (pt 0 32) - (input) - (text "CP_EN2" (rect 0 0 44 14)(font "Arial" (font_size 8))) - (text "CP_EN2" (rect 21 27 65 41)(font "Arial" (font_size 8))) - (line (pt 0 32)(pt 16 32)(line_width 1)) - ) - (port - (pt 0 48) - (input) - (text "CP_EN1" (rect 0 0 44 14)(font "Arial" (font_size 8))) - (text "CP_EN1" (rect 21 43 65 57)(font "Arial" (font_size 8))) - (line (pt 0 48)(pt 16 48)(line_width 1)) - ) - (port - (pt 0 64) - (input) - (text "CP_EN0" (rect 0 0 44 14)(font "Arial" (font_size 8))) - (text "CP_EN0" (rect 21 59 65 73)(font "Arial" (font_size 8))) - (line (pt 0 64)(pt 16 64)(line_width 1)) - ) - (port - (pt 0 80) - (input) - (text "CP" (rect 0 0 15 14)(font "Arial" (font_size 8))) - (text "CP" (rect 21 75 36 89)(font "Arial" (font_size 8))) - (line (pt 0 80)(pt 16 80)(line_width 1)) - ) - (port - (pt 128 32) - (output) - (text "CP_7" (rect 0 0 29 14)(font "Arial" (font_size 8))) - (text "CP_7" (rect 78 27 107 41)(font "Arial" (font_size 8))) - (line (pt 128 32)(pt 112 32)(line_width 1)) - ) - (port - (pt 128 48) - (output) - (text "CP_6" (rect 0 0 29 14)(font "Arial" (font_size 8))) - (text "CP_6" (rect 78 43 107 57)(font "Arial" (font_size 8))) - (line (pt 128 48)(pt 112 48)(line_width 1)) - ) - (port - (pt 128 64) - (output) - (text "CP_5" (rect 0 0 29 14)(font "Arial" (font_size 8))) - (text "CP_5" (rect 78 59 107 73)(font "Arial" (font_size 8))) - (line (pt 128 64)(pt 112 64)(line_width 1)) - ) - (port - (pt 128 80) - (output) - (text "CP_4" (rect 0 0 29 14)(font "Arial" (font_size 8))) - (text "CP_4" (rect 78 75 107 89)(font "Arial" (font_size 8))) - (line (pt 128 80)(pt 112 80)(line_width 1)) - ) - (port - (pt 128 96) - (output) - (text "CP_3" (rect 0 0 29 14)(font "Arial" (font_size 8))) - (text "CP_3" (rect 78 91 107 105)(font "Arial" (font_size 8))) - (line (pt 128 96)(pt 112 96)(line_width 1)) - ) - (port - (pt 128 112) - (output) - (text "CP_2" (rect 0 0 29 14)(font "Arial" (font_size 8))) - (text "CP_2" (rect 78 107 107 121)(font "Arial" (font_size 8))) - (line (pt 128 112)(pt 112 112)(line_width 1)) - ) - (port - (pt 128 128) - (output) - (text "CP_1" (rect 0 0 29 14)(font "Arial" (font_size 8))) - (text "CP_1" (rect 78 123 107 137)(font "Arial" (font_size 8))) - (line (pt 128 128)(pt 112 128)(line_width 1)) - ) - (port - (pt 128 144) - (output) - (text "CP_0" (rect 0 0 29 14)(font "Arial" (font_size 8))) - (text "CP_0" (rect 78 139 107 153)(font "Arial" (font_size 8))) - (line (pt 128 144)(pt 112 144)(line_width 1)) - ) - (drawing - (rectangle (rect 16 16 112 176)(line_width 1)) - ) -) -(symbol - (rect 896 520 960 568) - (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 896 440 960 488) - (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 832 472 864 520) - (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) -) (symbol (rect 3160 848 3336 1088) (text "MDR_8b" (rect 5 0 52 14)(font "Arial" (font_size 8))) @@ -3232,6 +3067,140 @@ applicable agreement for further details. (rectangle (rect 16 16 80 208)(line_width 1)) ) ) +(symbol + (rect 880 232 1024 488) + (text "cp_selector" (rect 5 0 72 14)(font "Arial" (font_size 8))) + (text "inst4" (rect 8 240 31 252)(font "Arial" )) + (port + (pt 0 32) + (input) + (text "CP" (rect 0 0 15 14)(font "Arial" (font_size 8))) + (text "CP" (rect 21 27 36 41)(font "Arial" (font_size 8))) + (line (pt 0 32)(pt 16 32)(line_width 1)) + ) + (port + (pt 0 48) + (input) + (text "CP_EN2" (rect 0 0 44 14)(font "Arial" (font_size 8))) + (text "CP_EN2" (rect 21 43 65 57)(font "Arial" (font_size 8))) + (line (pt 0 48)(pt 16 48)(line_width 1)) + ) + (port + (pt 0 64) + (input) + (text "CP_EN1" (rect 0 0 44 14)(font "Arial" (font_size 8))) + (text "CP_EN1" (rect 21 59 65 73)(font "Arial" (font_size 8))) + (line (pt 0 64)(pt 16 64)(line_width 1)) + ) + (port + (pt 0 80) + (input) + (text "CP_EN0" (rect 0 0 44 14)(font "Arial" (font_size 8))) + (text "CP_EN0" (rect 21 75 65 89)(font "Arial" (font_size 8))) + (line (pt 0 80)(pt 16 80)(line_width 1)) + ) + (port + (pt 0 96) + (input) + (text "ALU_CP_EN1" (rect 0 0 76 14)(font "Arial" (font_size 8))) + (text "ALU_CP_EN1" (rect 21 91 97 105)(font "Arial" (font_size 8))) + (line (pt 0 96)(pt 16 96)(line_width 1)) + ) + (port + (pt 0 112) + (input) + (text "ALU_CP_EN0" (rect 0 0 76 14)(font "Arial" (font_size 8))) + (text "ALU_CP_EN0" (rect 21 107 97 121)(font "Arial" (font_size 8))) + (line (pt 0 112)(pt 16 112)(line_width 1)) + ) + (port + (pt 144 32) + (output) + (text "CP_7" (rect -40 0 -11 14)(font "Arial" (font_size 8))) + (text "CP_7" (rect 94 27 123 41)(font "Arial" (font_size 8))) + (line (pt 144 32)(pt 128 32)(line_width 1)) + ) + (port + (pt 144 48) + (output) + (text "CP_6" (rect -40 0 -11 14)(font "Arial" (font_size 8))) + (text "CP_6" (rect 94 43 123 57)(font "Arial" (font_size 8))) + (line (pt 144 48)(pt 128 48)(line_width 1)) + ) + (port + (pt 144 64) + (output) + (text "CP_5" (rect -40 0 -11 14)(font "Arial" (font_size 8))) + (text "CP_5" (rect 94 59 123 73)(font "Arial" (font_size 8))) + (line (pt 144 64)(pt 128 64)(line_width 1)) + ) + (port + (pt 144 80) + (output) + (text "CP_4" (rect -40 0 -11 14)(font "Arial" (font_size 8))) + (text "CP_4" (rect 94 75 123 89)(font "Arial" (font_size 8))) + (line (pt 144 80)(pt 128 80)(line_width 1)) + ) + (port + (pt 144 96) + (output) + (text "CP_3" (rect -40 0 -11 14)(font "Arial" (font_size 8))) + (text "CP_3" (rect 94 91 123 105)(font "Arial" (font_size 8))) + (line (pt 144 96)(pt 128 96)(line_width 1)) + ) + (port + (pt 144 112) + (output) + (text "CP_2" (rect -40 0 -11 14)(font "Arial" (font_size 8))) + (text "CP_2" (rect 94 107 123 121)(font "Arial" (font_size 8))) + (line (pt 144 112)(pt 128 112)(line_width 1)) + ) + (port + (pt 144 128) + (output) + (text "CP_1" (rect -40 0 -11 14)(font "Arial" (font_size 8))) + (text "CP_1" (rect 94 123 123 137)(font "Arial" (font_size 8))) + (line (pt 144 128)(pt 128 128)(line_width 1)) + ) + (port + (pt 144 144) + (output) + (text "CP_0" (rect -40 0 -11 14)(font "Arial" (font_size 8))) + (text "CP_0" (rect 94 139 123 153)(font "Arial" (font_size 8))) + (line (pt 144 144)(pt 128 144)(line_width 1)) + ) + (port + (pt 144 176) + (output) + (text "ALU_CP3" (rect -40 0 14 14)(font "Arial" (font_size 8))) + (text "ALU_CP3" (rect 69 171 123 185)(font "Arial" (font_size 8))) + (line (pt 144 176)(pt 128 176)(line_width 1)) + ) + (port + (pt 144 192) + (output) + (text "ALU_CP2" (rect -40 0 14 14)(font "Arial" (font_size 8))) + (text "ALU_CP2" (rect 69 187 123 201)(font "Arial" (font_size 8))) + (line (pt 144 192)(pt 128 192)(line_width 1)) + ) + (port + (pt 144 208) + (output) + (text "ALU_CP1" (rect -40 0 14 14)(font "Arial" (font_size 8))) + (text "ALU_CP1" (rect 69 203 123 217)(font "Arial" (font_size 8))) + (line (pt 144 208)(pt 128 208)(line_width 1)) + ) + (port + (pt 144 224) + (output) + (text "ALU_CP0" (rect -40 0 14 14)(font "Arial" (font_size 8))) + (text "ALU_CP0" (rect 69 219 123 233)(font "Arial" (font_size 8))) + (line (pt 144 224)(pt 128 224)(line_width 1)) + ) + (drawing + (rectangle (rect 16 16 128 240)(line_width 1)) + ) +) (connector (pt 928 1520) (pt 912 1520) @@ -3608,38 +3577,6 @@ applicable agreement for further details. (pt 1248 1120) (pt 1216 1120) ) -(connector - (pt 848 456) - (pt 848 472) -) -(connector - (pt 848 520) - (pt 848 536) -) -(connector - (pt 832 456) - (pt 848 456) -) -(connector - (pt 848 536) - (pt 896 536) -) -(connector - (pt 848 456) - (pt 896 456) -) -(connector - (pt 832 296) - (pt 896 296) -) -(connector - (pt 832 280) - (pt 896 280) -) -(connector - (pt 832 264) - (pt 896 264) -) (connector (pt 896 1056) (pt 880 1056) @@ -4032,14 +3969,6 @@ applicable agreement for further details. (pt 896 40) (pt 800 40) ) -(connector - (pt 784 88) - (pt 800 88) -) -(connector - (pt 800 88) - (pt 816 88) -) (connector (pt 896 64) (pt 800 64) @@ -5262,151 +5191,26 @@ applicable agreement for further details. (pt 2344 1432) (color 0 128 0) ) -(connector - (pt 1024 344) - (pt 2344 344) - (color 0 128 0) -) -(connector - (pt 2344 344) - (pt 2344 1432) - (color 0 128 0) -) (connector (pt 2488 1544) (pt 2520 1544) (color 0 128 0) ) -(connector - (pt 1024 328) - (pt 2488 328) - (color 0 128 0) -) -(connector - (pt 2488 328) - (pt 2488 1544) - (color 0 128 0) -) (connector (pt 3016 1296) (pt 2984 1296) (color 0 128 0) ) -(connector - (pt 2984 312) - (pt 1024 312) - (color 0 128 0) -) -(connector - (pt 2984 1296) - (pt 2984 312) - (color 0 128 0) -) (connector (pt 3160 912) (pt 3144 912) (color 0 128 0) ) -(connector - (pt 1024 296) - (pt 3144 296) - (color 0 128 0) -) -(connector - (pt 3144 912) - (pt 3144 296) - (color 0 128 0) -) -(connector - (pt 1024 360) - (pt 1840 360) - (color 0 128 0) -) (connector (pt 1840 1640) (pt 1856 1640) (color 0 128 0) ) -(connector - (pt 1840 360) - (pt 1840 1640) - (color 0 128 0) -) -(connector - (pt 1248 1424) - (pt 1040 1424) - (color 0 128 0) -) -(connector - (pt 1040 280) - (pt 1024 280) - (color 0 128 0) -) -(connector - (pt 1040 1424) - (pt 1040 280) - (color 0 128 0) -) -(connector - (pt 1248 1408) - (pt 1056 1408) - (color 0 128 0) -) -(connector - (pt 1056 464) - (pt 960 464) - (color 0 128 0) -) -(connector - (pt 1056 1408) - (pt 1056 464) - (color 0 128 0) -) -(connector - (pt 1248 1392) - (pt 1072 1392) - (color 0 128 0) -) -(connector - (pt 1072 544) - (pt 960 544) - (color 0 128 0) -) -(connector - (pt 1072 1392) - (pt 1072 544) - (color 0 128 0) -) -(connector - (pt 880 312) - (pt 896 312) - (color 0 128 0) -) -(connector - (pt 880 472) - (pt 896 472) - (color 0 128 0) -) -(connector - (pt 896 552) - (pt 880 552) - (color 0 128 0) -) -(connector - (pt 880 312) - (pt 880 472) - (color 0 128 0) -) -(connector - (pt 880 472) - (pt 880 552) - (color 0 128 0) -) -(connector - (pt 880 88) - (pt 880 312) - (color 0 128 0) -) (connector (pt 3184 1672) (pt 3168 1672) @@ -5427,16 +5231,6 @@ applicable agreement for further details. (pt 3544 1480) (color 0 128 0) ) -(connector - (pt 864 88) - (pt 880 88) - (color 0 128 0) -) -(connector - (pt 880 88) - (pt 3544 88) - (color 0 128 0) -) (connector (pt 2968 1232) (pt 3128 1232) @@ -5461,6 +5255,162 @@ applicable agreement for further details. (pt 3288 1456) (pt 3296 1456) ) +(connector + (pt 784 88) + (pt 800 88) +) +(connector + (pt 800 88) + (pt 808 88) +) +(connector + (pt 832 280) + (pt 880 280) +) +(connector + (pt 832 296) + (pt 880 296) +) +(connector + (pt 832 312) + (pt 880 312) +) +(connector + (pt 2344 1432) + (pt 2344 344) + (color 0 128 0) +) +(connector + (pt 2488 1544) + (pt 2488 328) + (color 0 128 0) +) +(connector + (pt 2984 1296) + (pt 2984 312) + (color 0 128 0) +) +(connector + (pt 3144 912) + (pt 3144 296) + (color 0 128 0) +) +(connector + (pt 1840 1640) + (pt 1840 360) + (color 0 128 0) +) +(connector + (pt 864 88) + (pt 864 264) + (color 0 128 0) +) +(connector + (pt 864 264) + (pt 880 264) +) +(connector + (pt 856 88) + (pt 864 88) +) +(connector + (pt 864 88) + (pt 3544 88) +) +(connector + (pt 1024 296) + (pt 3144 296) + (color 0 128 0) +) +(connector + (pt 1024 312) + (pt 2984 312) + (color 0 128 0) +) +(connector + (pt 1024 328) + (pt 2488 328) + (color 0 128 0) +) +(connector + (pt 1024 344) + (pt 2344 344) + (color 0 128 0) +) +(connector + (pt 1024 360) + (pt 1840 360) + (color 0 128 0) +) +(connector + (pt 1248 1424) + (pt 1040 1424) + (color 0 128 0) +) +(connector + (pt 1248 1408) + (pt 1056 1408) + (color 0 128 0) +) +(connector + (pt 1248 1392) + (pt 1072 1392) + (color 0 128 0) +) +(connector + (pt 1040 1424) + (pt 1040 440) + (color 0 128 0) +) +(connector + (pt 1056 424) + (pt 1024 424) + (color 0 128 0) +) +(connector + (pt 1056 1408) + (pt 1056 424) + (color 0 128 0) +) +(connector + (pt 1072 408) + (pt 1024 408) + (color 0 128 0) +) +(connector + (pt 1072 1392) + (pt 1072 408) + (color 0 128 0) +) +(connector + (pt 1040 440) + (pt 1024 440) + (color 0 128 0) +) +(connector + (pt 880 344) + (pt 864 344) +) +(connector + (pt 864 344) + (pt 864 360) +) +(connector + (pt 832 360) + (pt 864 360) +) +(connector + (pt 880 328) + (pt 848 328) +) +(connector + (pt 848 328) + (pt 848 344) +) +(connector + (pt 832 344) + (pt 848 344) +) (junction (pt 912 1536)) (junction (pt 912 1552)) (junction (pt 912 1568)) @@ -5483,11 +5433,7 @@ applicable agreement for further details. (junction (pt 3112 1216)) (junction (pt 3128 1232)) (junction (pt 3016 1120)) -(junction (pt 848 456)) -(junction (pt 880 312)) -(junction (pt 880 472)) (junction (pt 1232 200)) -(junction (pt 880 88)) (junction (pt 672 200)) (junction (pt 800 88)) (junction (pt 800 64)) @@ -5536,6 +5482,7 @@ applicable agreement for further details. (junction (pt 3000 1072)) (junction (pt 2504 1072)) (junction (pt 1824 1072)) +(junction (pt 864 88)) (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))) @@ -5558,6 +5505,7 @@ applicable agreement for further details. (text "BUS: Data from PC" (rect 1000 2144 1342 2180)(font "Arial" (color 128 0 128)(font_size 24)(bold_italic))) (text "BUS: Data from General Registers" (rect 832 1776 1447 1812)(font "Arial" (color 128 0 128)(font_size 24)(bold_italic))) (text "Clock" (rect 1544 48 1647 84)(font "Arial" (color 0 128 0)(font_size 24)(bold_italic))) +(text "Clock" (rect 1084 456 1120 559)(font "Arial" (color 0 128 0)(font_size 24)(bold_italic))(vertical)) (rectangle (rect 408 712 1640 1768)(color 255 70 153)(line_width 5)(fill (color 255 225 239))) (rectangle (rect 2848 840 3536 1480)(color 255 152 60)(line_width 5)(fill (color 255 235 217))) (rectangle (rect 2848 1488 3488 1856)(color 106 200 255)(line_width 5)(fill (color 208 238 255))) diff --git a/machine_alpha/machine_alpha.qsf b/machine_alpha/machine_alpha.qsf index 8fa3787..160d901 100644 --- a/machine_alpha/machine_alpha.qsf +++ b/machine_alpha/machine_alpha.qsf @@ -131,4 +131,6 @@ set_global_assignment -name FMAX_REQUIREMENT "10 kHz" set_instance_assignment -name NOT_A_CLOCK ON -to uIR4 set_instance_assignment -name NOT_A_CLOCK ON -to uIR5 set_instance_assignment -name NOT_A_CLOCK ON -to uIR6 -set_instance_assignment -name NOT_A_CLOCK ON -to uIR16 \ No newline at end of file +set_location_assignment PIN_114 -to uIR18 +set_instance_assignment -name NOT_A_CLOCK ON -to uIR17 +set_instance_assignment -name NOT_A_CLOCK ON -to uIR18 \ No newline at end of file