From 24b293e24bfc43a27a432511b42e48bca424af54 Mon Sep 17 00:00:00 2001 From: Kacper Date: Mon, 8 Jun 2020 12:10:14 +0100 Subject: [PATCH] Recompiled certain files --- ALU_top.bdf | 72 ++++- ALU_top.bsf | 44 ++- CPUProject.bdf | 735 ++++++++++++++++++++++++++----------------------- CPUProject.qsf | 15 +- CPUProject.qws | Bin 3795 -> 3567 bytes DECODE.bsf | 6 +- DECODE.v | 5 +- alu.bsf | 7 + mux_3x16.v | 1 + mux_3x16.v.bak | 18 ++ mux_8x16.v | 1 + 11 files changed, 515 insertions(+), 389 deletions(-) create mode 100644 mux_3x16.v.bak diff --git a/ALU_top.bdf b/ALU_top.bdf index 02d963d..da0df89 100644 --- a/ALU_top.bdf +++ b/ALU_top.bdf @@ -119,7 +119,7 @@ refer to the applicable agreement for further details. (input) (rect 336 448 504 464) (text "INPUT" (rect 125 0 153 10)(font "Arial" (font_size 6))) - (text "CLK" (rect 5 0 27 12)(font "Arial" )) + (text "CLK" (rect 5 0 26 12)(font "Arial" )) (pt 168 8) (drawing (line (pt 84 12)(pt 109 12)) @@ -131,6 +131,22 @@ refer to the applicable agreement for further details. ) (text "VCC" (rect 128 7 148 17)(font "Arial" (font_size 6))) ) +(pin + (input) + (rect 336 352 520 368) + (text "INPUT" (rect 141 0 169 10)(font "Arial" (font_size 6))) + (text "stack_data[15..0]" (rect 5 0 92 12)(font "Arial" )) + (pt 184 8) + (drawing + (line (pt 100 12)(pt 125 12)) + (line (pt 100 4)(pt 125 4)) + (line (pt 129 8)(pt 184 8)) + (line (pt 100 12)(pt 100 4)) + (line (pt 125 4)(pt 129 8)) + (line (pt 125 12)(pt 129 8)) + ) + (text "VCC" (rect 144 7 164 17)(font "Arial" (font_size 6))) +) (pin (output) (rect 776 272 952 288) @@ -179,6 +195,22 @@ refer to the applicable agreement for further details. (line (pt 78 12)(pt 82 8)) ) ) +(pin + (output) + (rect 768 448 944 464) + (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) + (text "MUL_res[31..0]" (rect 90 0 165 12)(font "Arial" )) + (pt 0 8) + (drawing + (line (pt 0 8)(pt 52 8)) + (line (pt 52 4)(pt 78 4)) + (line (pt 52 12)(pt 78 12)) + (line (pt 52 12)(pt 52 4)) + (line (pt 78 4)(pt 82 8)) + (line (pt 82 8)(pt 78 12)) + (line (pt 78 12)(pt 82 8)) + ) +) (symbol (rect 544 424 744 520) (text "mul16" (rect 5 0 43 19)(font "Intel Clear" (font_size 8))) @@ -268,39 +300,46 @@ refer to the applicable agreement for further details. (text "exec2" (rect 21 123 50 135)(font "Arial" )) (line (pt 0 128)(pt 16 128)) ) + (port + (pt 0 144) + (input) + (text "stackout[15..0]" (rect 0 0 74 12)(font "Arial" )) + (text "stackout[15..0]" (rect 21 139 95 151)(font "Arial" )) + (line (pt 0 144)(pt 16 144)(line_width 3)) + ) (port (pt 208 32) (output) (text "mul1[15..0]" (rect 0 0 55 12)(font "Arial" )) - (text "mul1[15..0]" (rect 141 27 196 39)(font "Arial" )) + (text "mul1[15..0]" (rect 141 27 187 39)(font "Arial" )) (line (pt 208 32)(pt 192 32)(line_width 3)) ) (port (pt 208 48) (output) (text "mul2[15..0]" (rect 0 0 55 12)(font "Arial" )) - (text "mul2[15..0]" (rect 141 43 196 55)(font "Arial" )) + (text "mul2[15..0]" (rect 141 43 187 55)(font "Arial" )) (line (pt 208 48)(pt 192 48)(line_width 3)) ) (port (pt 208 64) (output) (text "Rout[15..0]" (rect 0 0 55 12)(font "Arial" )) - (text "Rout[15..0]" (rect 141 59 196 71)(font "Arial" )) + (text "Rout[15..0]" (rect 141 59 187 71)(font "Arial" )) (line (pt 208 64)(pt 192 64)(line_width 3)) ) (port (pt 208 80) (output) (text "jump" (rect 0 0 23 12)(font "Arial" )) - (text "jump" (rect 168 75 191 87)(font "Arial" )) + (text "jump" (rect 168 75 187 87)(font "Arial" )) (line (pt 208 80)(pt 192 80)) ) (port (pt 208 96) (output) (text "carry" (rect 0 0 25 12)(font "Arial" )) - (text "carry" (rect 166 91 191 103)(font "Arial" )) + (text "carry" (rect 166 91 187 103)(font "Arial" )) (line (pt 208 96)(pt 192 96)) ) (drawing @@ -312,11 +351,6 @@ refer to the applicable agreement for further details. (pt 752 456) (bus) ) -(connector - (pt 752 456) - (pt 744 456) - (bus) -) (connector (pt 544 472) (pt 536 472) @@ -427,3 +461,19 @@ refer to the applicable agreement for further details. (pt 544 456) (pt 504 456) ) +(connector + (pt 544 360) + (pt 520 360) + (bus) +) +(connector + (pt 744 456) + (pt 752 456) + (bus) +) +(connector + (pt 752 456) + (pt 768 456) + (bus) +) +(junction (pt 752 456)) diff --git a/ALU_top.bsf b/ALU_top.bsf index 736e702..2150adb 100644 --- a/ALU_top.bsf +++ b/ALU_top.bsf @@ -20,9 +20,9 @@ refer to the applicable agreement for further details. */ (header "symbol" (version "1.2")) (symbol - (rect 16 16 200 176) + (rect 16 16 264 208) (text "ALU_top" (rect 5 0 56 19)(font "Intel Clear" (font_size 8))) - (text "inst" (rect 8 139 24 156)(font "Intel Clear" )) + (text "inst" (rect 8 171 24 188)(font "Intel Clear" )) (port (pt 0 32) (input) @@ -68,32 +68,46 @@ refer to the applicable agreement for further details. (port (pt 0 128) (input) - (text "CLK" (rect 0 0 23 19)(font "Intel Clear" (font_size 8))) - (text "CLK" (rect 21 123 44 142)(font "Intel Clear" (font_size 8))) - (line (pt 0 128)(pt 16 128)) + (text "stack_data[15..0]" (rect 0 0 103 19)(font "Intel Clear" (font_size 8))) + (text "stack_data[15..0]" (rect 21 123 124 142)(font "Intel Clear" (font_size 8))) + (line (pt 0 128)(pt 16 128)(line_width 3)) ) (port - (pt 184 32) + (pt 0 144) + (input) + (text "CLK" (rect 0 0 23 19)(font "Intel Clear" (font_size 8))) + (text "CLK" (rect 21 139 44 158)(font "Intel Clear" (font_size 8))) + (line (pt 0 144)(pt 16 144)) + ) + (port + (pt 248 32) (output) (text "Rout[15..0]" (rect 0 0 66 19)(font "Intel Clear" (font_size 8))) - (text "Rout[15..0]" (rect 97 27 163 46)(font "Intel Clear" (font_size 8))) - (line (pt 184 32)(pt 168 32)(line_width 3)) + (text "Rout[15..0]" (rect 161 27 227 46)(font "Intel Clear" (font_size 8))) + (line (pt 248 32)(pt 232 32)(line_width 3)) ) (port - (pt 184 48) + (pt 248 48) (output) (text "COND" (rect 0 0 36 19)(font "Intel Clear" (font_size 8))) - (text "COND" (rect 127 43 163 62)(font "Intel Clear" (font_size 8))) - (line (pt 184 48)(pt 168 48)) + (text "COND" (rect 191 43 227 62)(font "Intel Clear" (font_size 8))) + (line (pt 248 48)(pt 232 48)) ) (port - (pt 184 64) + (pt 248 64) (output) (text "CARRY" (rect 0 0 41 19)(font "Intel Clear" (font_size 8))) - (text "CARRY" (rect 122 59 163 78)(font "Intel Clear" (font_size 8))) - (line (pt 184 64)(pt 168 64)) + (text "CARRY" (rect 186 59 227 78)(font "Intel Clear" (font_size 8))) + (line (pt 248 64)(pt 232 64)) + ) + (port + (pt 248 80) + (output) + (text "MUL_res[31..0]" (rect 0 0 90 19)(font "Intel Clear" (font_size 8))) + (text "MUL_res[31..0]" (rect 137 75 227 94)(font "Intel Clear" (font_size 8))) + (line (pt 248 80)(pt 232 80)(line_width 3)) ) (drawing - (rectangle (rect 16 16 168 144)) + (rectangle (rect 16 16 232 176)) ) ) diff --git a/CPUProject.bdf b/CPUProject.bdf index 91e3542..0a5660c 100644 --- a/CPUProject.bdf +++ b/CPUProject.bdf @@ -37,19 +37,19 @@ refer to the applicable agreement for further details. ) (pin (input) - (rect 176 704 344 720) - (text "INPUT" (rect 125 0 153 10)(font "Arial" (font_size 6))) - (text "SM_rst" (rect 5 0 39 12)(font "Arial" )) - (pt 168 8) + (rect 168 704 344 720) + (text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6))) + (text "SM_rst" (rect 9 0 43 12)(font "Arial" )) + (pt 176 8) (drawing - (line (pt 84 12)(pt 109 12)) - (line (pt 84 4)(pt 109 4)) - (line (pt 113 8)(pt 168 8)) - (line (pt 84 12)(pt 84 4)) - (line (pt 109 4)(pt 113 8)) - (line (pt 109 12)(pt 113 8)) + (line (pt 92 12)(pt 117 12)) + (line (pt 92 4)(pt 117 4)) + (line (pt 121 8)(pt 176 8)) + (line (pt 92 12)(pt 92 4)) + (line (pt 117 4)(pt 121 8)) + (line (pt 117 12)(pt 121 8)) ) - (text "VCC" (rect 128 7 148 17)(font "Arial" (font_size 6))) + (text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6))) ) (pin (output) @@ -371,27 +371,11 @@ refer to the applicable agreement for further details. (line (pt 78 12)(pt 82 8)) ) ) -(pin - (output) - (rect 1424 80 1600 96) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "s4[1..0]" (rect 90 0 127 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) (pin (output) (rect 1512 272 1688 288) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "ALU_out[15..0]" (rect 90 0 160 17)(font "Intel Clear" )) + (text "ALU_out[15..0]" (rect 90 0 164 12)(font "Arial" )) (pt 0 8) (drawing (line (pt 0 8)(pt 52 8)) @@ -407,7 +391,7 @@ refer to the applicable agreement for further details. (output) (rect 1424 -64 1600 -48) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "R2_en" (rect 90 0 120 17)(font "Intel Clear" )) + (text "R2_en" (rect 90 0 121 12)(font "Arial" )) (pt 0 8) (drawing (line (pt 0 8)(pt 52 8)) @@ -423,7 +407,7 @@ refer to the applicable agreement for further details. (output) (rect 1424 -48 1600 -32) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "R3_en" (rect 90 0 120 17)(font "Intel Clear" )) + (text "R3_en" (rect 90 0 121 12)(font "Arial" )) (pt 0 8) (drawing (line (pt 0 8)(pt 52 8)) @@ -439,7 +423,7 @@ refer to the applicable agreement for further details. (output) (rect 1424 -32 1600 -16) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "R4_en" (rect 90 0 120 17)(font "Intel Clear" )) + (text "R4_en" (rect 90 0 121 12)(font "Arial" )) (pt 0 8) (drawing (line (pt 0 8)(pt 52 8)) @@ -455,7 +439,7 @@ refer to the applicable agreement for further details. (output) (rect 1424 -16 1600 0) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "R5_en" (rect 90 0 120 17)(font "Intel Clear" )) + (text "R5_en" (rect 90 0 121 12)(font "Arial" )) (pt 0 8) (drawing (line (pt 0 8)(pt 52 8)) @@ -471,7 +455,7 @@ refer to the applicable agreement for further details. (output) (rect 1424 0 1600 16) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "R6_en" (rect 90 0 120 17)(font "Intel Clear" )) + (text "R6_en" (rect 90 0 121 12)(font "Arial" )) (pt 0 8) (drawing (line (pt 0 8)(pt 52 8)) @@ -487,7 +471,7 @@ refer to the applicable agreement for further details. (output) (rect 1424 16 1600 32) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "R7_en" (rect 90 0 120 17)(font "Intel Clear" )) + (text "R7_en" (rect 90 0 121 12)(font "Arial" )) (pt 0 8) (drawing (line (pt 0 8)(pt 52 8)) @@ -503,7 +487,7 @@ refer to the applicable agreement for further details. (output) (rect 1424 32 1600 48) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "s1[2..0]" (rect 90 0 124 17)(font "Intel Clear" )) + (text "s1[2..0]" (rect 90 0 127 12)(font "Arial" )) (pt 0 8) (drawing (line (pt 0 8)(pt 52 8)) @@ -519,7 +503,7 @@ refer to the applicable agreement for further details. (output) (rect 1424 48 1600 64) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "s2[2..0]" (rect 90 0 124 17)(font "Intel Clear" )) + (text "s2[2..0]" (rect 90 0 127 12)(font "Arial" )) (pt 0 8) (drawing (line (pt 0 8)(pt 52 8)) @@ -535,7 +519,7 @@ refer to the applicable agreement for further details. (output) (rect 1424 64 1600 80) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "s3[2..0]" (rect 90 0 124 17)(font "Intel Clear" )) + (text "s3[2..0]" (rect 90 0 127 12)(font "Arial" )) (pt 0 8) (drawing (line (pt 0 8)(pt 52 8)) @@ -551,7 +535,7 @@ refer to the applicable agreement for further details. (output) (rect 1440 96 1616 112) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "RAMd_wren" (rect 90 0 149 17)(font "Intel Clear" )) + (text "RAMd_wren" (rect 90 0 147 12)(font "Arial" )) (pt 0 8) (drawing (line (pt 0 8)(pt 52 8)) @@ -567,7 +551,7 @@ refer to the applicable agreement for further details. (output) (rect 1424 112 1600 128) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "RAMd_en" (rect 90 0 137 17)(font "Intel Clear" )) + (text "RAMd_en" (rect 90 0 137 12)(font "Arial" )) (pt 0 8) (drawing (line (pt 0 8)(pt 52 8)) @@ -583,7 +567,7 @@ refer to the applicable agreement for further details. (output) (rect 1424 128 1600 144) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "RAMi_en" (rect 90 0 133 17)(font "Intel Clear" )) + (text "RAMi_en" (rect 90 0 133 12)(font "Arial" )) (pt 0 8) (drawing (line (pt 0 8)(pt 52 8)) @@ -615,7 +599,7 @@ refer to the applicable agreement for further details. (output) (rect 1424 160 1600 176) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "E2" (rect 90 0 101 17)(font "Intel Clear" )) + (text "E2" (rect 90 0 102 12)(font "Arial" )) (pt 0 8) (drawing (line (pt 0 8)(pt 52 8)) @@ -631,7 +615,7 @@ refer to the applicable agreement for further details. (output) (rect 1424 176 1600 192) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "stack_en" (rect 90 0 132 17)(font "Intel Clear" )) + (text "stack_en" (rect 90 0 134 12)(font "Arial" )) (pt 0 8) (drawing (line (pt 0 8)(pt 52 8)) @@ -647,7 +631,7 @@ refer to the applicable agreement for further details. (output) (rect 1424 192 1600 208) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "stack_rst" (rect 90 0 132 17)(font "Intel Clear" )) + (text "stack_rst" (rect 90 0 136 12)(font "Arial" )) (pt 0 8) (drawing (line (pt 0 8)(pt 52 8)) @@ -663,7 +647,7 @@ refer to the applicable agreement for further details. (output) (rect 1424 208 1600 224) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "stack_rw" (rect 90 0 132 17)(font "Intel Clear" )) + (text "stack_rw" (rect 90 0 133 12)(font "Arial" )) (pt 0 8) (drawing (line (pt 0 8)(pt 52 8)) @@ -679,7 +663,7 @@ refer to the applicable agreement for further details. (output) (rect 1512 320 1688 336) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "COND" (rect 90 0 119 17)(font "Intel Clear" )) + (text "COND" (rect 90 0 123 12)(font "Arial" )) (pt 0 8) (drawing (line (pt 0 8)(pt 52 8)) @@ -693,7 +677,7 @@ refer to the applicable agreement for further details. ) (pin (output) - (rect 1512 288 1692 304) + (rect 1512 288 1688 304) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) (text "RAMD_out[15..0]" (rect 90 0 174 12)(font "Arial" )) (pt 0 8) @@ -711,7 +695,39 @@ refer to the applicable agreement for further details. (output) (rect 1512 304 1688 320) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "stack_out[15..0]" (rect 90 0 165 17)(font "Intel Clear" )) + (text "stack_out[15..0]" (rect 90 0 170 12)(font "Arial" )) + (pt 0 8) + (drawing + (line (pt 0 8)(pt 52 8)) + (line (pt 52 4)(pt 78 4)) + (line (pt 52 12)(pt 78 12)) + (line (pt 52 12)(pt 52 4)) + (line (pt 78 4)(pt 82 8)) + (line (pt 82 8)(pt 78 12)) + (line (pt 78 12)(pt 82 8)) + ) +) +(pin + (output) + (rect 1424 80 1600 96) + (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) + (text "s4" (rect 90 0 101 12)(font "Arial" )) + (pt 0 8) + (drawing + (line (pt 0 8)(pt 52 8)) + (line (pt 52 4)(pt 78 4)) + (line (pt 52 12)(pt 78 12)) + (line (pt 52 12)(pt 52 4)) + (line (pt 78 4)(pt 82 8)) + (line (pt 82 8)(pt 78 12)) + (line (pt 78 12)(pt 82 8)) + ) +) +(pin + (output) + (rect 1512 336 1688 352) + (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) + (text "MUL_res[31..0]" (rect 90 0 165 12)(font "Arial" )) (pt 0 8) (drawing (line (pt 0 8)(pt 52 8)) @@ -794,7 +810,7 @@ refer to the applicable agreement for further details. (pt 184 32) (output) (text "result[15..0]" (rect 0 0 59 12)(font "Arial" )) - (text "result[15..0]" (rect 114 27 173 39)(font "Arial" )) + (text "result[15..0]" (rect 114 27 163 39)(font "Arial" )) (line (pt 184 32)(pt 168 32)(line_width 3)) ) (drawing @@ -872,7 +888,7 @@ refer to the applicable agreement for further details. (pt 184 32) (output) (text "result[15..0]" (rect 0 0 59 12)(font "Arial" )) - (text "result[15..0]" (rect 114 27 173 39)(font "Arial" )) + (text "result[15..0]" (rect 114 27 163 39)(font "Arial" )) (line (pt 184 32)(pt 168 32)(line_width 3)) ) (drawing @@ -950,56 +966,13 @@ refer to the applicable agreement for further details. (pt 184 32) (output) (text "result[15..0]" (rect 0 0 59 12)(font "Arial" )) - (text "result[15..0]" (rect 114 27 173 39)(font "Arial" )) + (text "result[15..0]" (rect 114 27 163 39)(font "Arial" )) (line (pt 184 32)(pt 168 32)(line_width 3)) ) (drawing (rectangle (rect 16 16 168 192)) ) ) -(symbol - (rect 1216 272 1400 384) - (text "mux_3x16" (rect 5 0 55 12)(font "Arial" )) - (text "MUX4" (rect 8 96 36 108)(font "Arial" )) - (port - (pt 0 32) - (input) - (text "s[1..0]" (rect 0 0 31 12)(font "Arial" )) - (text "s[1..0]" (rect 21 27 52 39)(font "Arial" )) - (line (pt 0 32)(pt 16 32)(line_width 3)) - ) - (port - (pt 0 48) - (input) - (text "in0[15..0]" (rect 0 0 46 12)(font "Arial" )) - (text "in0[15..0]" (rect 21 43 67 55)(font "Arial" )) - (line (pt 0 48)(pt 16 48)(line_width 3)) - ) - (port - (pt 0 64) - (input) - (text "in1[15..0]" (rect 0 0 46 12)(font "Arial" )) - (text "in1[15..0]" (rect 21 59 67 71)(font "Arial" )) - (line (pt 0 64)(pt 16 64)(line_width 3)) - ) - (port - (pt 0 80) - (input) - (text "in2[15..0]" (rect 0 0 46 12)(font "Arial" )) - (text "in2[15..0]" (rect 21 75 67 87)(font "Arial" )) - (line (pt 0 80)(pt 16 80)(line_width 3)) - ) - (port - (pt 184 32) - (output) - (text "result[15..0]" (rect 0 0 59 12)(font "Arial" )) - (text "result[15..0]" (rect 114 27 173 39)(font "Arial" )) - (line (pt 184 32)(pt 168 32)(line_width 3)) - ) - (drawing - (rectangle (rect 16 16 168 96)) - ) -) (symbol (rect 936 160 1152 304) (text "ram_data" (rect 81 0 144 16)(font "Arial" (font_size 10))) @@ -1091,84 +1064,6 @@ refer to the applicable agreement for further details. (line (pt 0 0)(pt 0 0)) ) ) -(symbol - (rect 936 304 1120 464) - (text "ALU_top" (rect 5 0 56 19)(font "Intel Clear" (font_size 8))) - (text "ALU" (rect 8 139 28 156)(font "Intel Clear" )) - (port - (pt 0 32) - (input) - (text "ALU_en" (rect 0 0 46 19)(font "Intel Clear" (font_size 8))) - (text "ALU_en" (rect 21 27 67 46)(font "Intel Clear" (font_size 8))) - (line (pt 0 32)(pt 16 32)) - ) - (port - (pt 0 48) - (input) - (text "Rs1[15..0]" (rect 0 0 61 19)(font "Intel Clear" (font_size 8))) - (text "Rs1[15..0]" (rect 21 43 82 62)(font "Intel Clear" (font_size 8))) - (line (pt 0 48)(pt 16 48)(line_width 3)) - ) - (port - (pt 0 64) - (input) - (text "Rs2[15..0]" (rect 0 0 61 19)(font "Intel Clear" (font_size 8))) - (text "Rs2[15..0]" (rect 21 59 82 78)(font "Intel Clear" (font_size 8))) - (line (pt 0 64)(pt 16 64)(line_width 3)) - ) - (port - (pt 0 80) - (input) - (text "Rd[15..0]" (rect 0 0 55 19)(font "Intel Clear" (font_size 8))) - (text "Rd[15..0]" (rect 21 75 76 94)(font "Intel Clear" (font_size 8))) - (line (pt 0 80)(pt 16 80)(line_width 3)) - ) - (port - (pt 0 96) - (input) - (text "op[5..0]" (rect 0 0 46 19)(font "Intel Clear" (font_size 8))) - (text "op[5..0]" (rect 21 91 67 110)(font "Intel Clear" (font_size 8))) - (line (pt 0 96)(pt 16 96)(line_width 3)) - ) - (port - (pt 0 112) - (input) - (text "EXEC2" (rect 0 0 38 19)(font "Intel Clear" (font_size 8))) - (text "EXEC2" (rect 21 107 59 126)(font "Intel Clear" (font_size 8))) - (line (pt 0 112)(pt 16 112)) - ) - (port - (pt 0 128) - (input) - (text "CLK" (rect 0 0 23 19)(font "Intel Clear" (font_size 8))) - (text "CLK" (rect 21 123 44 142)(font "Intel Clear" (font_size 8))) - (line (pt 0 128)(pt 16 128)) - ) - (port - (pt 184 32) - (output) - (text "Rout[15..0]" (rect 0 0 66 19)(font "Intel Clear" (font_size 8))) - (text "Rout[15..0]" (rect 97 27 163 46)(font "Intel Clear" (font_size 8))) - (line (pt 184 32)(pt 168 32)(line_width 3)) - ) - (port - (pt 184 48) - (output) - (text "COND" (rect 0 0 36 19)(font "Intel Clear" (font_size 8))) - (text "COND" (rect 127 43 163 62)(font "Intel Clear" (font_size 8))) - (line (pt 184 48)(pt 168 48)) - ) - (port - (pt 184 64) - (output) - (text "CARRY" (rect 0 0 41 19)(font "Intel Clear" (font_size 8))) - (text "CARRY" (rect 122 59 163 78)(font "Intel Clear" (font_size 8))) - (line (pt 184 64)(pt 168 64)) - ) - (drawing - (rectangle (rect 16 16 168 144)) - ) -) (symbol (rect 200 160 408 512) (text "reg_file" (rect 5 0 49 19)(font "Intel Clear" (font_size 8))) @@ -1388,91 +1283,27 @@ refer to the applicable agreement for further details. (pt 152 32) (output) (text "FETCH" (rect 0 0 36 12)(font "Arial" )) - (text "FETCH" (rect 101 27 137 39)(font "Arial" )) + (text "FETCH" (rect 101 27 131 39)(font "Arial" )) (line (pt 152 32)(pt 136 32)) ) (port (pt 152 48) (output) (text "EXEC1" (rect 0 0 34 12)(font "Arial" )) - (text "EXEC1" (rect 103 43 137 55)(font "Arial" )) + (text "EXEC1" (rect 103 43 131 55)(font "Arial" )) (line (pt 152 48)(pt 136 48)) ) (port (pt 152 64) (output) (text "EXEC2" (rect 0 0 34 12)(font "Arial" )) - (text "EXEC2" (rect 103 59 137 71)(font "Arial" )) + (text "EXEC2" (rect 103 59 131 71)(font "Arial" )) (line (pt 152 64)(pt 136 64)) ) (drawing (rectangle (rect 16 16 136 96)) ) ) -(symbol - (rect 936 480 1120 624) - (text "LIFOstack" (rect 5 0 56 12)(font "Arial" )) - (text "STACK" (rect 8 128 43 140)(font "Arial" )) - (port - (pt 0 32) - (input) - (text "Din[15..0]" (rect 0 0 48 12)(font "Arial" )) - (text "Din[15..0]" (rect 21 27 69 39)(font "Arial" )) - (line (pt 0 32)(pt 16 32)(line_width 3)) - ) - (port - (pt 0 48) - (input) - (text "clk" (rect 0 0 14 12)(font "Arial" )) - (text "clk" (rect 21 43 35 55)(font "Arial" )) - (line (pt 0 48)(pt 16 48)) - ) - (port - (pt 0 64) - (input) - (text "en" (rect 0 0 11 12)(font "Arial" )) - (text "en" (rect 21 59 32 71)(font "Arial" )) - (line (pt 0 64)(pt 16 64)) - ) - (port - (pt 0 80) - (input) - (text "rst" (rect 0 0 12 12)(font "Arial" )) - (text "rst" (rect 21 75 33 87)(font "Arial" )) - (line (pt 0 80)(pt 16 80)) - ) - (port - (pt 0 96) - (input) - (text "rw" (rect 0 0 10 12)(font "Arial" )) - (text "rw" (rect 21 91 31 103)(font "Arial" )) - (line (pt 0 96)(pt 16 96)) - ) - (port - (pt 184 32) - (output) - (text "Dout[15..0]" (rect 0 0 55 12)(font "Arial" )) - (text "Dout[15..0]" (rect 117 27 172 39)(font "Arial" )) - (line (pt 184 32)(pt 168 32)(line_width 3)) - ) - (port - (pt 184 48) - (output) - (text "empty" (rect 0 0 31 12)(font "Arial" )) - (text "empty" (rect 137 43 168 55)(font "Arial" )) - (line (pt 184 48)(pt 168 48)) - ) - (port - (pt 184 64) - (output) - (text "full" (rect 0 0 15 12)(font "Arial" )) - (text "full" (rect 151 59 166 71)(font "Arial" )) - (line (pt 184 64)(pt 168 64)) - ) - (drawing - (rectangle (rect 16 16 168 128)) - ) -) (symbol (rect 1168 -136 1376 264) (text "DECODE" (rect 5 0 52 12)(font "Arial" )) @@ -1599,9 +1430,9 @@ refer to the applicable agreement for further details. (port (pt 208 224) (output) - (text "s4[1..0]" (rect 0 0 37 12)(font "Arial" )) - (text "s4[1..0]" (rect 156 219 187 231)(font "Arial" )) - (line (pt 208 224)(pt 192 224)(line_width 3)) + (text "s4" (rect 0 0 11 12)(font "Arial" )) + (text "s4" (rect 178 219 187 231)(font "Arial" )) + (line (pt 208 224)(pt 192 224)) ) (port (pt 208 240) @@ -1754,6 +1585,210 @@ refer to the applicable agreement for further details. (line (pt 0 0)(pt 0 0)) ) ) +(symbol + (rect 896 608 1080 752) + (text "LIFOstack" (rect 5 0 56 12)(font "Arial" )) + (text "STACK" (rect 8 128 43 140)(font "Arial" )) + (port + (pt 0 32) + (input) + (text "Din[15..0]" (rect 0 0 48 12)(font "Arial" )) + (text "Din[15..0]" (rect 21 27 69 39)(font "Arial" )) + (line (pt 0 32)(pt 16 32)(line_width 3)) + ) + (port + (pt 0 48) + (input) + (text "clk" (rect 0 0 14 12)(font "Arial" )) + (text "clk" (rect 21 43 35 55)(font "Arial" )) + (line (pt 0 48)(pt 16 48)) + ) + (port + (pt 0 64) + (input) + (text "en" (rect 0 0 11 12)(font "Arial" )) + (text "en" (rect 21 59 32 71)(font "Arial" )) + (line (pt 0 64)(pt 16 64)) + ) + (port + (pt 0 80) + (input) + (text "rst" (rect 0 0 12 12)(font "Arial" )) + (text "rst" (rect 21 75 33 87)(font "Arial" )) + (line (pt 0 80)(pt 16 80)) + ) + (port + (pt 0 96) + (input) + (text "rw" (rect 0 0 10 12)(font "Arial" )) + (text "rw" (rect 21 91 31 103)(font "Arial" )) + (line (pt 0 96)(pt 16 96)) + ) + (port + (pt 184 32) + (output) + (text "Dout[15..0]" (rect 0 0 55 12)(font "Arial" )) + (text "Dout[15..0]" (rect 117 27 163 39)(font "Arial" )) + (line (pt 184 32)(pt 168 32)(line_width 3)) + ) + (port + (pt 184 48) + (output) + (text "empty" (rect 0 0 31 12)(font "Arial" )) + (text "empty" (rect 137 43 163 55)(font "Arial" )) + (line (pt 184 48)(pt 168 48)) + ) + (port + (pt 184 64) + (output) + (text "full" (rect 0 0 15 12)(font "Arial" )) + (text "full" (rect 151 59 163 71)(font "Arial" )) + (line (pt 184 64)(pt 168 64)) + ) + (drawing + (rectangle (rect 16 16 168 128)) + ) +) +(symbol + (rect 1256 272 1368 360) + (text "BUSMUX" (rect 28 0 91 16)(font "Arial" (font_size 10))) + (text "inst" (rect 3 77 23 91)(font "Arial" (font_size 8))) + (port + (pt 0 64) + (input) + (text "datab[WIDTH-1..0]" (rect 6 51 108 65)(font "Arial" (font_size 8))) + (text "datab[]" (rect 6 51 44 65)(font "Arial" (font_size 8))) + (line (pt 0 64)(pt 44 64)(line_width 3)) + ) + (port + (pt 56 88) + (input) + (text "sel" (rect 59 70 75 84)(font "Arial" (font_size 8))) + (text "sel" (rect 59 70 75 84)(font "Arial" (font_size 8))) + (line (pt 56 88)(pt 56 72)) + ) + (port + (pt 0 32) + (input) + (text "dataa[WIDTH-1..0]" (rect 6 19 108 33)(font "Arial" (font_size 8))) + (text "dataa[]" (rect 6 19 44 33)(font "Arial" (font_size 8))) + (line (pt 0 32)(pt 44 32)(line_width 3)) + ) + (port + (pt 112 48) + (output) + (text "result[WIDTH-1..0]" (rect 75 35 177 49)(font "Arial" (font_size 8))) + (text "result[]" (rect 75 35 107 49)(font "Arial" (font_size 8))) + (line (pt 68 48)(pt 112 48)(line_width 3)) + ) + (parameter + "WIDTH" + "16" + "Width of I/O, any integer > 0" + " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" " 9" "10" "11" "12" "13" "14" "15" "16" "20" "24" "28" "32" "40" "48" "56" "64" + ) + (drawing + (text "0" (rect 52 31 56 41)(font "Arial" (font_size 6))) + (text "1" (rect 52 55 56 65)(font "Arial" (font_size 6))) + (line (pt 68 64)(pt 68 32)) + (line (pt 44 80)(pt 44 16)) + (line (pt 44 16)(pt 68 32)) + (line (pt 44 80)(pt 68 64)) + ) + (annotation_block (parameter)(rect 1368 272 1400 288)) +) +(symbol + (rect 936 304 1184 496) + (text "ALU_top" (rect 5 0 56 19)(font "Intel Clear" (font_size 8))) + (text "ALU" (rect 8 171 28 188)(font "Intel Clear" )) + (port + (pt 0 32) + (input) + (text "ALU_en" (rect 0 0 46 19)(font "Intel Clear" (font_size 8))) + (text "ALU_en" (rect 21 27 67 46)(font "Intel Clear" (font_size 8))) + (line (pt 0 32)(pt 16 32)) + ) + (port + (pt 0 48) + (input) + (text "Rs1[15..0]" (rect 0 0 61 19)(font "Intel Clear" (font_size 8))) + (text "Rs1[15..0]" (rect 21 43 82 62)(font "Intel Clear" (font_size 8))) + (line (pt 0 48)(pt 16 48)(line_width 3)) + ) + (port + (pt 0 64) + (input) + (text "Rs2[15..0]" (rect 0 0 61 19)(font "Intel Clear" (font_size 8))) + (text "Rs2[15..0]" (rect 21 59 82 78)(font "Intel Clear" (font_size 8))) + (line (pt 0 64)(pt 16 64)(line_width 3)) + ) + (port + (pt 0 80) + (input) + (text "Rd[15..0]" (rect 0 0 55 19)(font "Intel Clear" (font_size 8))) + (text "Rd[15..0]" (rect 21 75 76 94)(font "Intel Clear" (font_size 8))) + (line (pt 0 80)(pt 16 80)(line_width 3)) + ) + (port + (pt 0 96) + (input) + (text "op[5..0]" (rect 0 0 46 19)(font "Intel Clear" (font_size 8))) + (text "op[5..0]" (rect 21 91 67 110)(font "Intel Clear" (font_size 8))) + (line (pt 0 96)(pt 16 96)(line_width 3)) + ) + (port + (pt 0 112) + (input) + (text "EXEC2" (rect 0 0 38 19)(font "Intel Clear" (font_size 8))) + (text "EXEC2" (rect 21 107 59 126)(font "Intel Clear" (font_size 8))) + (line (pt 0 112)(pt 16 112)) + ) + (port + (pt 0 128) + (input) + (text "stack_data[15..0]" (rect 0 0 103 19)(font "Intel Clear" (font_size 8))) + (text "stack_data[15..0]" (rect 21 123 124 142)(font "Intel Clear" (font_size 8))) + (line (pt 0 128)(pt 16 128)(line_width 3)) + ) + (port + (pt 0 144) + (input) + (text "CLK" (rect 0 0 23 19)(font "Intel Clear" (font_size 8))) + (text "CLK" (rect 21 139 44 158)(font "Intel Clear" (font_size 8))) + (line (pt 0 144)(pt 16 144)) + ) + (port + (pt 248 32) + (output) + (text "Rout[15..0]" (rect 0 0 66 19)(font "Intel Clear" (font_size 8))) + (text "Rout[15..0]" (rect 161 27 227 46)(font "Intel Clear" (font_size 8))) + (line (pt 248 32)(pt 232 32)(line_width 3)) + ) + (port + (pt 248 48) + (output) + (text "COND" (rect 0 0 36 19)(font "Intel Clear" (font_size 8))) + (text "COND" (rect 191 43 227 62)(font "Intel Clear" (font_size 8))) + (line (pt 248 48)(pt 232 48)) + ) + (port + (pt 248 64) + (output) + (text "CARRY" (rect 0 0 41 19)(font "Intel Clear" (font_size 8))) + (text "CARRY" (rect 186 59 227 78)(font "Intel Clear" (font_size 8))) + (line (pt 248 64)(pt 232 64)) + ) + (port + (pt 248 80) + (output) + (text "MUL_res[31..0]" (rect 0 0 90 19)(font "Intel Clear" (font_size 8))) + (text "MUL_res[31..0]" (rect 137 75 227 94)(font "Intel Clear" (font_size 8))) + (line (pt 248 80)(pt 232 80)(line_width 3)) + ) + (drawing + (rectangle (rect 16 16 232 176)) + ) +) (connector (pt 856 192) (pt 936 192) @@ -1811,11 +1846,6 @@ refer to the applicable agreement for further details. (pt 856 592) (bus) ) -(connector - (text "COND" (rect 1122 336 1151 353)(font "Intel Clear" )) - (pt 1120 352) - (pt 1152 352) -) (connector (pt 856 352) (pt 936 352) @@ -1846,11 +1876,6 @@ refer to the applicable agreement for further details. (pt 936 416) (pt 880 416) ) -(connector - (text "CARRY" (rect 1122 352 1157 369)(font "Intel Clear" )) - (pt 1120 368) - (pt 1152 368) -) (connector (text "R0_en" (rect 162 192 192 209)(font "Intel Clear" )) (pt 200 208) @@ -2227,63 +2252,16 @@ refer to the applicable agreement for further details. (pt 592 592) (bus) ) -(connector - (text "s4[1..0]" (rect 1186 288 1220 305)(font "Intel Clear" )) - (pt 1216 304) - (pt 1176 304) - (bus) -) (connector (pt 136 792) (pt 1416 792) (bus) ) -(connector - (text "CLK" (rect 890 512 910 529)(font "Intel Clear" )) - (pt 936 528) - (pt 880 528) -) -(connector - (text "Rs1[15..0]" (rect 890 496 937 513)(font "Intel Clear" )) - (pt 936 512) - (pt 880 512) - (bus) -) -(connector - (text "stack_rst" (rect 890 544 932 561)(font "Intel Clear" )) - (pt 936 560) - (pt 880 560) -) -(connector - (text "stack_en" (rect 890 528 932 545)(font "Intel Clear" )) - (pt 936 544) - (pt 880 544) -) -(connector - (text "stack_rw" (rect 890 560 932 577)(font "Intel Clear" )) - (pt 936 576) - (pt 880 576) -) -(connector - (pt 1184 352) - (pt 1184 512) - (bus) -) -(connector - (pt 1216 352) - (pt 1184 352) - (bus) -) (connector (pt 1152 192) (pt 1160 192) (bus) ) -(connector - (pt 1160 192) - (pt 1160 320) - (bus) -) (connector (text "R0_count" (rect 1386 -120 1430 -103)(font "Intel Clear" )) (pt 1376 -104) @@ -2552,17 +2530,6 @@ refer to the applicable agreement for further details. (pt 344 728) (pt 392 728) ) -(connector - (text "s4[1..0]" (rect 1386 72 1420 89)(font "Intel Clear" )) - (pt 1376 88) - (pt 1424 88) - (bus) -) -(connector - (text "CLK" (rect 890 416 910 433)(font "Intel Clear" )) - (pt 936 432) - (pt 880 432) -) (connector (text "EXEC1" (rect 1138 -88 1169 -71)(font "Intel Clear" )) (pt 1128 -72) @@ -2588,11 +2555,6 @@ refer to the applicable agreement for further details. (pt 224 80) (pt 256 80) ) -(connector - (text "SM_rst" (rect 354 696 387 713)(font "Intel Clear" )) - (pt 344 712) - (pt 392 712) -) (connector (pt 464 144) (pt 208 144) @@ -2650,39 +2612,6 @@ refer to the applicable agreement for further details. (pt 1168 -104) (bus) ) -(connector - (text "ALU_out[15..0]" (rect 1130 320 1200 337)(font "Intel Clear" )) - (pt 1120 336) - (pt 1216 336) - (bus) -) -(connector - (pt 1400 304) - (pt 1416 304) - (bus) -) -(connector - (pt 1416 304) - (pt 1416 496) - (bus) -) -(connector - (pt 1416 496) - (pt 1416 792) - (bus) -) -(connector - (text "stack_out[15..0]" (rect 1122 496 1197 513)(font "Intel Clear" )) - (pt 1120 512) - (pt 1184 512) - (bus) -) -(connector - (text "RAMd_out[15..0]" (rect 1170 304 1250 321)(font "Intel Clear" )) - (pt 1216 320) - (pt 1160 320) - (bus) -) (connector (text "ALU_out[15..0]" (rect 1448 264 1518 281)(font "Intel Clear" )) (pt 1440 280) @@ -2712,6 +2641,118 @@ refer to the applicable agreement for further details. (pt 880 400) (bus) ) +(connector + (text "Rs1[15..0]" (rect 850 624 897 641)(font "Intel Clear" )) + (pt 840 640) + (pt 896 640) + (bus) +) +(connector + (text "CLK" (rect 850 640 870 657)(font "Intel Clear" )) + (pt 840 656) + (pt 896 656) +) +(connector + (text "stack_en" (rect 850 656 892 673)(font "Intel Clear" )) + (pt 840 672) + (pt 896 672) +) +(connector + (text "stack_rst" (rect 850 672 892 689)(font "Intel Clear" )) + (pt 840 688) + (pt 896 688) +) +(connector + (text "stack_rw" (rect 850 688 892 705)(font "Intel Clear" )) + (pt 840 704) + (pt 896 704) +) +(connector + (pt 1416 320) + (pt 1368 320) + (bus) +) +(connector + (pt 1416 320) + (pt 1416 496) + (bus) +) +(connector + (pt 1416 496) + (pt 1416 792) + (bus) +) +(connector + (pt 1160 192) + (pt 1160 304) + (bus) +) +(connector + (text "RAMd_out[15..0]" (rect 1178 288 1258 305)(font "Intel Clear" )) + (pt 1160 304) + (pt 1256 304) + (bus) +) +(connector + (text "stack_out[15..0]" (rect 1082 624 1157 641)(font "Intel Clear" )) + (pt 1080 640) + (pt 1144 640) + (bus) +) +(connector + (text "CLK" (rect 890 432 910 449)(font "Intel Clear" )) + (pt 936 448) + (pt 880 448) +) +(connector + (text "stack_out[15..0]" (rect 872 416 947 433)(font "Intel Clear" )) + (pt 936 432) + (pt 872 432) + (bus) +) +(connector + (text "s4" (rect 1296 373 1313 383)(font "Intel Clear" )(vertical)) + (pt 1312 360) + (pt 1312 392) +) +(connector + (text "s4" (rect 1386 72 1396 89)(font "Intel Clear" )) + (pt 1376 88) + (pt 1424 88) +) +(connector + (text "SM_rst" (rect 354 696 387 713)(font "Intel Clear" )) + (pt 344 712) + (pt 400 712) +) +(connector + (text "ALU_out[15..0]" (rect 1186 320 1256 337)(font "Intel Clear" )) + (pt 1184 336) + (pt 1256 336) + (bus) +) +(connector + (text "COND" (rect 1194 336 1223 353)(font "Intel Clear" )) + (pt 1184 352) + (pt 1232 352) +) +(connector + (text "CARRY" (rect 1186 352 1221 369)(font "Intel Clear" )) + (pt 1184 368) + (pt 1232 368) +) +(connector + (text "MUL_res[31..0]" (rect 1184 368 1255 385)(font "Intel Clear" )) + (pt 1184 384) + (pt 1232 384) + (bus) +) +(connector + (text "MUL_res[31..0]" (rect 1450 328 1521 345)(font "Intel Clear" )) + (pt 1512 344) + (pt 1440 344) + (bus) +) (junction (pt 856 192)) (junction (pt 136 320)) (junction (pt 136 352)) diff --git a/CPUProject.qsf b/CPUProject.qsf index 8f13577..7cf496f 100644 --- a/CPUProject.qsf +++ b/CPUProject.qsf @@ -38,13 +38,16 @@ set_global_assignment -name FAMILY "Cyclone IV E" set_global_assignment -name DEVICE AUTO -set_global_assignment -name TOP_LEVEL_ENTITY test +set_global_assignment -name TOP_LEVEL_ENTITY CPUProject set_global_assignment -name ORIGINAL_QUARTUS_VERSION 18.1.0 set_global_assignment -name PROJECT_CREATION_TIME_DATE "12:38:11 MAY 20, 2020" set_global_assignment -name LAST_QUARTUS_VERSION "18.1.0 Standard Edition" set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files set_global_assignment -name TIMING_ANALYZER_MULTICORNER_ANALYSIS ON set_global_assignment -name NUM_PARALLEL_PROCESSORS ALL +set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top +set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top +set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top set_global_assignment -name VERILOG_FILE LIFOstack.v set_global_assignment -name VERILOG_FILE alu.v set_global_assignment -name MIF_FILE LUTSquares.mif @@ -64,12 +67,4 @@ set_global_assignment -name VERILOG_FILE SM.v set_global_assignment -name BDF_FILE ALU_top.bdf set_global_assignment -name VERILOG_FILE mux_8x16.v set_global_assignment -name VERILOG_FILE mux_3x16.v -set_global_assignment -name VECTOR_WAVEFORM_FILE Waveform.vwf -set_global_assignment -name BDF_FILE test.bdf -set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top -set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top -set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top -set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top -set_global_assignment -name VECTOR_WAVEFORM_FILE Waveform1.vwf -set_global_assignment -name QIP_FILE LUT1.qip -set_global_assignment -name QIP_FILE LUT4.qip \ No newline at end of file +set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top \ No newline at end of file diff --git a/CPUProject.qws b/CPUProject.qws index e25b56fe2bd379c8b75d190bb87eee0b2550f345..fd250b337e236098e26de4107da8ddb08b87c5bc 100644 GIT binary patch delta 188 zcmcaC`(Ap2HY4jq9c5uL1|J4b1~&$OhGK>ihD3&BhU|$k`l131E)1>=&Ol)ht;bNt zz`(#Zxt1e%vK*7q=06;37$>i0RG+NO;)BhE%{44%88^3ZWV38mX8F%Jc{88FWGA*l zCZ>y%x3XCYF@4~R7ED`$9V>~5jjib9{ey+=EG6Ar zck3UlEvR!RBI8cZd*|GD@12|TQ61F=4OK|imXf5BT&&!e0CaGR7;PAY2+$`x#X2(~ zx@eLaL}US3z2SMO4*p{-AC&#EDxPGklC>X{f?qu%V!^wWa#PWb>7k2tbN{L^X8y(ygg zbVEE8cf!oUHvMYRCGpbGVM7-4rHeDNCchRDv8&Ham^m8%ddXGPF^{~L`Z~Xq9eB$> D+fr=H diff --git a/DECODE.bsf b/DECODE.bsf index 3ee64f6..7507f83 100644 --- a/DECODE.bsf +++ b/DECODE.bsf @@ -145,9 +145,9 @@ refer to the applicable agreement for further details. (port (pt 208 224) (output) - (text "s4[1..0]" (rect 0 0 29 12)(font "Arial" )) - (text "s4[1..0]" (rect 158 219 187 231)(font "Arial" )) - (line (pt 208 224)(pt 192 224)(line_width 3)) + (text "s4" (rect 0 0 10 12)(font "Arial" )) + (text "s4" (rect 177 219 187 231)(font "Arial" )) + (line (pt 208 224)(pt 192 224)(line_width 1)) ) (port (pt 208 240) diff --git a/DECODE.v b/DECODE.v index 0566ed0..02715b7 100644 --- a/DECODE.v +++ b/DECODE.v @@ -17,7 +17,7 @@ module DECODE output [2:0] s1, output [2:0] s2, output [2:0] s3, - output [1:0]s4, + output s4, output RAMd_wren, output RAMd_en, output RAMi_en, @@ -68,8 +68,7 @@ module DECODE assign s3[2] = (~(UJMP | JMP | STORE | LOAD | NOP | STP | PSH | POP) & Rd[2]); assign s3[1] = (~(UJMP | JMP | STORE | LOAD | NOP | STP | PSH | POP) & Rd[1]); assign s3[0] = (~(UJMP | JMP | STORE | LOAD | NOP | STP | PSH | POP) & Rd[0]); - assign s4[1] = POP | PSH; - assign s4[0] = ~(LOAD | POP | PSH); + assign s4 = ~LOAD; assign RAMd_wren = EXEC1 & STORE; assign RAMd_en = EXEC1 & (STORE | LOAD); assign RAMi_en = FETCH; diff --git a/alu.bsf b/alu.bsf index 399556b..f0b8211 100644 --- a/alu.bsf +++ b/alu.bsf @@ -72,6 +72,13 @@ refer to the applicable agreement for further details. (text "exec2" (rect 21 123 44 135)(font "Arial" )) (line (pt 0 128)(pt 16 128)(line_width 1)) ) + (port + (pt 0 144) + (input) + (text "stackout[15..0]" (rect 0 0 56 12)(font "Arial" )) + (text "stackout[15..0]" (rect 21 139 77 151)(font "Arial" )) + (line (pt 0 144)(pt 16 144)(line_width 3)) + ) (port (pt 208 32) (output) diff --git a/mux_3x16.v b/mux_3x16.v index 710f8c1..850df4f 100644 --- a/mux_3x16.v +++ b/mux_3x16.v @@ -12,6 +12,7 @@ always @(*) begin 2'b00: result = in0; 2'b01: result = in1; 2'b10: result = in2; + default: result = in0; endcase end diff --git a/mux_3x16.v.bak b/mux_3x16.v.bak new file mode 100644 index 0000000..710f8c1 --- /dev/null +++ b/mux_3x16.v.bak @@ -0,0 +1,18 @@ +module mux_3x16 (s, in0, in1, in2, result); + +input [1:0]s; +input [15:0]in0; +input [15:0]in1; +input [15:0]in2; + +output reg [15:0]result; + +always @(*) begin + case(s) + 2'b00: result = in0; + 2'b01: result = in1; + 2'b10: result = in2; + endcase +end + +endmodule diff --git a/mux_8x16.v b/mux_8x16.v index 56a6cc4..86a7098 100644 --- a/mux_8x16.v +++ b/mux_8x16.v @@ -22,6 +22,7 @@ always @(*) begin 3'b101: result = in5; 3'b110: result = in6; 3'b111: result = in7; + default: result = in0; endcase end